tmuxはCoding agentのためだけのものではないんだよ。
— k1LoW (@k1LoW) 2026年1月28日
我々はもともとtmuxを使ってシェルやらEmacsやらVimやらをまとめていたんだ。
ただ、そこにCoding agentが加わっただけなんだ。
というイライラを解消した。 pic.twitter.com/M0DXBm3jpo
普段使っているtmuxにClaude Codeの情報がほしい
私は普段からtmuxを使っています。Emacsを開いているウィンドウ、シェルを開いているウィンドウ、特定の作業をしているブランチのウィンドウ、別のリポジトリのウィンドウといった感じで複数のウィンドウを行き来しながら作業しています。
最近はClaude Codeを使うことが増えてきて、tmuxのウィンドウのいくつかでClaude Codeが動いている状態になりました。あるウィンドウではバグ修正を依頼して、別のウィンドウでは新機能の実装検討を依頼して、さらに別のウィンドウではテストを書かせている、といった具合です。
ここで問題がひとつ。「どのウィンドウのClaude Codeが今どういう状態なのかがわからない」。
Claude Codeは、処理中なのか、完了して入力待ちなのか、あるいは許可を求めて止まっているのか、実際にそのウィンドウに切り替えないとわかりません。許可を求めて止まっているのに気づかず放置してしまうこともあります。
Claude Code専用の管理ツールを作るという手もありますが、自分がやりたいのは 普段使っているtmuxにClaude Codeの情報がのっている状態 です。Emacsやシェルといったウィンドウはそのままでいいので、Claude Codeが動いているウィンドウだけステータスが見えればいい。
というわけで、tmuxのウィンドウ一覧にClaude Codeのステータスを表示するツールを作りました。
tcmux
当初は "terminal と Claude Code の mux viewer" ということで tcmux という名前にしましたが、GitHub Copilot CLIにも対応したので、今は "terminal coding agent mux viewer" ということにしています。tmuxのウィンドウ一覧やセッション一覧にコーディングエージェントのステータスを付加して表示するCLIツールです。
それだけのツールです。
使い方
list-windows (lsw)
tcmux list-windows でClaude Codeが起動しているウィンドウの一覧を表示できます。
$ tcmux list-windows 0: editor (1 panes) ✻ Fix login bug [Idle] 2: server (2 panes) ✻ Add API endpoint [Running (1m 30s)], ✻ Write tests [Idle] 5: docs (1 panes) ✻ Update README [Idle] 7: review (1 panes) ✻ Review PR [Waiting]
各行の末尾にClaude Codeのステータスが表示されます。これで、どのウィンドウが処理中で、どのウィンドウが入力待ちかが一目でわかります。
-A オプションをつけると、Claude Codeが起動していないウィンドウも含めて全て表示されます。
$ tcmux list-windows -A 0: editor (1 panes) ✻ Fix login bug [Idle] 1: shell (1 panes) 2: server (2 panes) ✻ Add API endpoint [Running (1m 30s)], ✻ Write tests [Idle] 3: logs (1 panes) 4: htop (1 panes) 5: docs (1 panes) ✻ Update README [Idle] 7: review (1 panes) ✻ Review PR [Waiting]
-F オプションには tmux list-windows と互換があるので自由にフォーマット変更が可能です。
| オプション | 説明 |
|---|---|
-A, --all-windows |
Claude Codeが起動していないウィンドウも含めて全て表示 |
-a, --all-sessions |
全セッションのウィンドウを表示 |
-t, --target-session |
対象セッションを指定 |
-F, --format |
出力フォーマットを指定(tmux互換+tcmux拡張) |
list-sessions (ls)
tcmux list-sessions でtmuxセッションの一覧を、Claude Codeのステータス集計とともに表示できます。
$ tcmux list-sessions dev: 7 windows (attached) - 3 Idle, 1 Running, 1 Waiting main: 2 windows - 1 Idle work: 1 window
複数のセッションを使い分けている場合に便利です。
ステータス検出
tcmuxは以下のステータスを検出します。
| ステータス | 説明 |
|---|---|
| Idle | プロンプト待ち。Claude Codeが次の入力を待っている状態 |
| Running | 処理中 |
| Waiting | ユーザー入力待ち。許可ダイアログや確認プロンプトが表示されている状態 |
また、モードも検出して表示します。
| モード | 説明 |
|---|---|
| plan mode | Plan modeがONの状態 |
| accept edits | Accept editsがONの状態 |
例えば、Plan modeがONで処理中の場合は [Running (30s, plan mode)] のように表示されます。
GitHub Copilot CLIにも対応した
tcmuxはClaude Code向けに作り始めましたが、ターミナルで動くコーディングエージェントはClaude Codeだけではありません。私は、主にレビュータスク目的でGitHub Copilot CLIも同様にtmux上で動かすことがあります。
そこで、GitHub Copilot CLIのステータス検出にも対応しました。検出するステータス(Idle / Running / Waiting)はClaude Codeと同じです。エージェントの種類はアイコンで区別できます。
| アイコン | エージェント |
|---|---|
✻ |
Claude Code |
⬢ |
GitHub Copilot CLI |
Claude CodeとCopilot CLIを混在させて使っている場合はこんな感じの表示になります。
$ tcmux list-windows 0: editor (1 panes) ✻ Fix login bug [Idle] 2: server (2 panes) ✻ Add API endpoint [Running (1m 30s)], ⬢ Write tests [Idle] 5: docs (1 panes) ⬢ Update README [Running] 7: review (1 panes) ✻ Review PR [Waiting]
レシピ
自分が実際に使っている設定を紹介します。
tmuxのウィンドウ選択で 、.tmux.conf で tmux list-windows の代わりに tcmux list-windows -A を使うと、ウィンドウ選択時にClaude Codeのステータスが表示されて便利です。
Before:
bind-key w run-shell "tmux list-windows | fzf --tmux | cut -d: -f1 | xargs tmux select-window -t"
After:
bind-key w run-shell "tcmux list-windows -A --color=always | fzf --ansi --tmux | cut -d: -f1 | xargs tmux select-window -t"
基本 tmux list-windows の置き換えのためだけに作ったので実質これが全てかもしれません。
Waitingのウィンドウがあれば一目でわかるので、許可を求められているClaude Codeを放置してしまうことがなくなりました。
自分はもう少し見た目を調整して使っています。
bind -r w run-shell "tcmux lsw -A --color=always | fzf --ansi --layout reverse --tmux 80%,50% --color='pointer:24' | cut -d: -f 1 | xargs tmux select-window -t"
冒頭のポストのイメージのように表示されます。

インストール
homebrew tap:
$ brew install k1LoW/tap/tcmux
go install:
$ go install github.com/k1LoW/tcmux@latest
まとめ
tcmuxを使うことで、tmux上で複数のClaude Codeを並行して動かしているときに、各インスタンスの状態を把握しやすくなりました。
特に「許可待ちで止まっているClaude Codeに気づかない」問題が解消されたのが大きいです。GitHub Copilot CLIにも対応しているので、複数のコーディングエージェントを混在させて使っている場合でも、アイコンで区別しつつ同じインターフェースでステータスを確認できます。