こんにちは。
もるふぉです。
Claude Code を3本、4本と並行で走らせているうちに、こんな経験をしたことはないでしょうか。
しばらく席を外して戻ってきたら、全セッションが許可ダイアログの前で止まって固まっていた。
実行時間より「気づいていない時間」のほうがよほど長かった、というやつです。
今回は、この「気づかない時間」を潰すためのTUIツール claude-code-monitor(以下ccm)を紹介します。
Anthropic公式のビルトインMonitorツールではなく、onikan27さんが公開しているサードパーティ製のOSSです。
名前が紛らわしいので最初にはっきり書いておきます。
Claude Code を複数並列で走らせると何が起きるか
「全セッション待機」が静かに起きる理由
Claude Code は破壊的な操作の前に許可を求めてきます。
1セッションだけなら気にならないのですが、3〜4本並行させると事情が変わります。
各セッションは自分のペースで進むので、許可が必要になるタイミングもバラバラです。
片方の返答を読んでいる間に、もう片方が音もなく許可待ちに入る。
気づかないままウィンドウを切り替えないと、そのセッションは何十分でも止まったままになります。
ターミナルのタブに小さな通知が出ても、隣のウィンドウを見ている人間には届きません。
並列数が増えるほど人間が律速になる
ここが、意外と気づかない部分です。
並列度を上げるほど、Claude Code のスループットではなく「人間の目と手の切り替え速度」が全体の速度を決めるようになります。
CPUが遊んでいるのではなく、承認する人間が遊んでいる状態です。
並列開発でボトルネックになるのはモデルの速さではなく、こちら側の反応速度。
速くしたいなら、モデルを速くするのではなく、人間の反応性を上げるほうが先です。
この視点でツールを選ぶと、ccmが何をしようとしているのかが一気に整理されます。
claude-code-monitor とは何か
ccm は、複数の Claude Code セッションの状態を1つのターミナル画面にまとめて表示するTUIダッシュボードです。
「実行中」「許可待ち」「完了」を色分けし、Vim風のキー操作で対象セッションのターミナルに一発でフォーカスを飛ばせます。
さらにQRコードでスマホから同じ画面を開き、外出中でも許可を出せる、というのが売りです。
インストールは npx claude-code-monitor の1コマンド。
TypeScriptで書かれていて、ライセンスはMIT、GitHubスターは執筆時点で200を超えたところです。
公式 Monitor tool との違い
Anthropic公式にも「Monitor」という同名の機能があります。
こちらは Claude Code 本体に組み込まれたツールで、バックグラウンドで走らせたコマンドの出力(ログ・ファイル変化など)を1行ずつClaudeに戻して、会話中にリアルタイムで反応させるためのものです。
「セッション内のバックグラウンド処理を監視する」のが公式Monitor、「複数セッションそのものを俯瞰する」のがccm、と役割が根本から違います。
同じ「Monitor」でも守備範囲が別なので、混同しないほうがいいです。
今回の記事は後者の話です。
ccmanager / Agent View との使い分け
Claude Code のセッション管理系OSSは急に増えていて、選ぶだけで一苦労です。
代表的な3つを表で整理しておきます。
ざっくりまとめると、「深く見る」なら公式、「並行して束ねる」ならccmanager、「並行しつつ許可の抜けをなくす」ならccm、という棲み分けです。
macOS 専用である理由 — AppleScript を使っているから
ccm の目玉である「ターミナル切替」は、AppleScript でmacOS標準のウィンドウ操作を叩いています。
この設計のおかげで実装はコンパクトになった一方、Linux や Windows では動かせません。
この点は導入前に必ず確認しておきたいところです。
WSLやリモート開発だけで完結している人は、ccmanagerなど別の選択肢を検討してください。
仕組みがわかったところで、内側の構造を見ておきます。
claude-code-monitor の3層設計 — Hooks・ファイル・AppleScript
ccm の中身は、大きく3つの部品で構成されています。
それぞれの役割を分けて理解すると、なぜこの構成なのかが見えてきます。
Hooks でセッション状態を拾う
Claude Code には Hooks という拡張ポイントがあります。
ツール実行前後・許可要求時・セッション終了時などのタイミングで、任意のシェルコマンドやスクリプトを差し込める仕組みです。
詳しくはClaude Code Hooksの公式ドキュメントにまとまっています。
ccm はこの Hooks を初回セットアップ時に自動登録し、各セッションで「今どういう状態か」を書き出してもらう役割を持たせます。
Claude Code本体のコードには触らず、外側から状態を拾う設計です。
ファイルベース状態管理がシンプルな理由
各セッションが書き出した状態は、ローカルのファイルに置かれます。
TUI側はそのファイルを読んで表示するだけ。
プロセス間通信も常駐サーバーも不要で、Hooks が動きさえすればあとは勝手に整合します。
セッションが落ちてもゾンビにならず、ccm を再起動すれば最新のスナップショットが即座に復元されます。
いわば「共有のホワイトボードに各セッションが今の状態を書き、TUIがそれをリアルタイムで読みに来る」感覚に近い。
シンプルなぶん、崩れにくい。
これが一番効くタイプの設計です。
AppleScript でターミナルフォーカスを切り替える
TUI上で目的のセッションを選び Enter を押すと、対応するターミナルウィンドウが前面に出てきます。
この「別アプリのウィンドウを操作する」部分をAppleScript が担っています。
macOS標準のスクリプト言語なので追加インストールは不要、iTerm2・Terminal.app・Ghostty はいずれも動作確認済みとされています。
ここまでで構造が整理できたので、次は実際の導入手順を見ていきます。
claude-code-monitor の導入手順 — npx から watch 起動まで
前提: Node.js 18+ と Claude Code 本体
必要なのは Node.js 18以上と、Claude Code本体がすでに動いていることだけです。
追加のサービスやアカウント連携は要りません。
ccm setup と ccm watch の違い
初回だけ、Hooks を Claude Code に登録する ccm setup を1回走らせます。
以降の起動は ccm watch でTUIを立ち上げるだけ。
手順は次のとおりです。
# 1. 実行(グローバルインストールしなくてもよい)
npx claude-code-monitor
# または、頻繁に使うならグローバルインストール
npm install -g claude-code-monitor
# 2. 初回だけHooksを登録
ccm setup
# 3. 監視画面を開く
ccm watchTUIが立ち上がったら、Claude Code を走らせている端末をいくつか開いてみてください。
実行中は緑、許可待ちは黄色、完了はグレー、といった具合に色分けされます。
上下移動は j / k、番号キー1〜9でクイック選択、Enterで対応ターミナルにフォーカス移動という Vim ライクなキー体系です。
「あ、全部が1画面で見える」という感覚は、使ってみないと伝わりにくい部分があります。
モバイル連携の設定とTailscale対応
TUI上で h を押すとQRコードが表示されます。
スマホで読み取ると、同一Wi-Fi内なら即座にモバイル用のWeb画面が開き、そこから許可・却下・メッセージ送信ができます。
「打ち合わせ中にPCが許可待ちで止まる」を、机の下からスマホで解除できるわけです。
外出先でも使いたいなら、ccm watch -t で Tailscale 経由の起動に切り替えます。
WireGuardベースの暗号化トンネルの中を通るので、公衆Wi-Fiでもそのまま許可を出せる、というのが売り文句です。
ここまでやると「Claude Code を家で走らせたまま、電車の中から手を動かす」が現実的な運用になります。
実際に使ってわかった「何並列から本領発揮か」
2〜3並列では不要かもしれない
正直に書きます。
2並列くらいなら、ccmを入れなくてもたいていのケースで問題は出ません。
ウィンドウを2つ左右に並べておけば、視界に許可待ちが自然と映るので、人間の目で十分捌けます。
ツールを入れて仕組みを増やすほうがオーバーヘッドになる、という判断も普通にあり得ます。
ここで無理に導入する必要はありません。
4並列以上で差が出る場面
差が出るのは、並列度が4を超えたあたりからです。
ウィンドウが視界の外に隠れる本数が増え、人間の「巡回コスト」が跳ね上がり始めます。
ここに来て初めて、色分け一覧とキー1発フォーカスの威力が効いてきます。
作者のonikan27さんも「3〜4並列あたりが実用の分水嶺」といった趣旨の発信をしていて、感覚として符合します。
要は、並列数が増えて自分の目が追いつかなくなった瞬間が、導入の潮時です。
コーディング以外の用途(記事執筆・調査並列)でも機能するか
私は普段、Claude Code をコード生成以外の用途でもよく回します。
調査、下書き、レビュー観点出し、といったタスクをセッションを分けて並行させる使い方です。
この場合も、途中でファイル書き込みや外部コマンド実行の許可を求められる場面は普通に出てきます。
つまり「コーディングの並列開発だから必要」という限定ではなく、「Claude Code を並列で走らせるワークフローそのもの」で刺さるツールだと考えていいはずです。
書き手・調査屋の並列運用にも、そのまま応用が効きます。
まとめ — 速さより反応性を上げるという考え方
Claude Code の並列運用でボトルネックになるのは、モデルの速度ではなく承認する人間の反応速度です。
ccm は、モデルを速くする道具ではなく、人間の反応速度を上げるための道具として設計されています。
macOS で3並列以上を日常的に回している人なら、npx claude-code-monitor を叩いてみて損はないはずです。
TUIが立ち上がって全セッションが1画面に並んだ瞬間に、「あ、今までこれ見えてなかったんだ」と気づく類のツールです。
まずは1日、走らせっぱなしにしてみてください。



💬 コメント
ログイン か 会員登録 するとコメントできます