2026年8月7日、Claude Code に 起動中のセッション同士でメッセージを送り合う機能が入りました。バージョン 2.1.224 以降なら設定は要らず、上げただけで動いています。渡るのはテキスト1本だけ。それでも、ターミナルを行き来してコピペする作業が消えます。この回は新機能を入口に、複数の Claude Code をどう回すかという並列運用の全体像まで一気に整理します。
Claude Code の v2.1.224 以降で、あなたが立ち上げた複数のセッションが、互いにテキストを送り合えるようになりました。ポイントは有効にする操作が要らないことです。バージョンが上がっていれば、すでに裏で動いています。
裏側で使われるツールは2つあります。届く相手を探す ListAgents と、名前を指定して届ける SendMessage です。ただしこの2つを人が直接呼ぶ場面はありません。相手を選んで文面を書くのは Claude 自身で、こちらは日本語で頼むだけです。
頼み方はこの程度で通ります。
別のターミナルで動いてるセッションに、いまの変更を伝えておいて
対応環境は macOS と Linux(WSL 2 の中の Linux を含む)。ネイティブの Windows では使えません。Bedrock、AWS の Claude Platform、Google Cloud の Agent Platform、Microsoft Foundry でも提供されていません。
ここを誤解すると期待外れになります。伝言で渡るのは一片のテキストだけです。会話の履歴も、ファイルも、権限も渡りません。文脈ごと別のターミナルへ移したいなら、伝言ではなくセッションの resume を使うのが正解です。
届くタイミングにも癖があります。受け取る側が作業中なら、ツール実行の切れ目で読まれます。動いている処理が中断されることはありません。相手が待機中なら、すぐに新しいターンが立ち上がります。
汎用のサンプルで、まず仕組みを掴みます。手順は4つです。
claude --version で 2.1.224 以降を確認する/rename で名前を付ける(付けなければ作業フォルダ名から自動で命名される)/list-agents(別名 /peers)で、届く相手が並ぶのを確認する受け取る側では、送り主の名前つきで届き、読み終わると1行に畳まれます。開き直したいときは Ctrl+O です。自分の受信アドレスは /status の Peer address の行で確認できます。
初回は、名前だけでは足りずrefを付けて送り直すよう確認が挟まることがあります。二段階になるのは仕様の範囲なので、慌てず一度目の指示をそのまま繰り返せば通ります。
企画時にこのMacで起きたことを、そのまま見せます。バージョンは条件を満たしている。設定で止めてもいない。セッションは9本開いている。それでも /list-agents の結果が0件でした。
プロセスの起動時刻を調べると、大半が8月5日から7日に起動したもの、つまり機能が届く前から開きっぱなしのセッションでした。古いセッションは受信の口を開けていないので、伝言相手として一覧に出てきません。直し方はひとつで、立ち上げ直すだけです。
0件のときは、上の図の順で潰していけば原因に当たります。3番目が今回の実害です。
届いたメッセージはあなたの発言としては扱われません。だから次の4つができません。ここは制限ではなく、安全のための設計です。
CLAUDE.md も権限設定も、他セッションに頼まれて書き換えることはしない/compact と書いても、ただの文字として届く受信の扱いは、送る側と受け取る側の権限モードの組み合わせでも変わります。ざっくり言えば、確認を飛ばすモードのセッションから、確認するモードのセッションへ送ると保留になります。保留はダイアログが出て、既定では5分で自動的に消えます。
どこで動いている相手かで、通り道とできることが変わります。
| 相手がいる場所 | 通り道 | できること |
|---|---|---|
| 同じマシン | セッションごとのソケット経由。Anthropicのサーバーを通らない | 送るのも返すのもできる |
| 別のマシン | Anthropicのサーバー経由(相手側の Remote Control 接続で届く) | 返信だけ |
| Web上のセッション | Anthropicのサーバー経由 | 返信だけ |
会話を始められるのは同じマシンの中だけです。マシンをまたぐ場合は、届いたメッセージへの返信しかできません。またコンテナの中と外は互いに届きません。登録ファイルが見えないためです。同じコンテナの中同士なら届きます。
普段の制作は、1本の収録からブログ・本編カット・ショート・サムネが同時に走ります。ターミナルは常時3本から4本。ここが伝言の本番です。
正直な限界も先に言います。即時のやり取りには向きません。相手が処理中なら、その処理が終わるまで反応は返りません。だから使いどころはリアルタイムの協調ではなく、区切りでの引き継ぎです。
判定軸はひとつです。渡したいものが何かで決まります。
| 手段 | 渡るもの | 向いている場面 | 向かない場面 |
|---|---|---|---|
| セッション間の伝言 | テキスト1本だけ | 独立したセッション同士の、区切りでの引き継ぎ | 文脈ごと渡したい/即時に往復したい |
| セッションの resume | 会話の文脈ごと | 別のターミナルで同じ話の続きをしたい | 2つを同時に走らせたい |
| サブエージェント | 親が渡した指示 | 1つのセッションの中で調べ物を分担する | セッションをまたぎたい |
| エージェントチーム | チーム内の構造化メッセージ | Claudeが自分で立てて統率する集団作業 | 自分で1本ずつ操舵したい |
| agent view | 渡さない(見るだけ) | たくさんのセッションを1画面で見張る | 中身を伝えたい |
| git worktree | 渡さない(作業を分ける) | 同じリポジトリを衝突させずに並行で触る | 情報を伝えたい |
worktree と伝言は競合しません。組み合わせるのが正解です。作業そのものを分けるのが worktree、分けた先に情報を渡すのが伝言です。同じことをする外部ツールは以前からありましたが、純正で来た意味は設定なしで全員の手元で動くことにあります。
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC、DISABLE_TELEMETRY、DO_NOT_TRACK、DISABLE_GROWTHBOOK。プライバシー目的で入れている人ほど踏みます。警告もエラーも出ずに機能ごと消えますclaude -p のワーカーは、保留されると永久に届かない。承認ダイアログを出せないためです3つ目の対策は、起動時に受信を明示することです。
{
"crossSessionInbound": "accept"
}
受信と送信は別々に止められます。受信を止めるなら crossSessionInbound(accept / hold / refuse の3択)、送信と一覧を止めるなら権限の拒否ルールです。
{
"permissions": {
"deny": ["SendMessage", "ListAgents"]
},
"crossSessionInbound": "refuse"
}
拒否ルールを入れるとサブエージェントへの送信も一緒に消えます。同じツールを使っているためです。マシンをまたぐ送信に毎回承認を要求したいなら次の1行ですが、これはどのスコープからでも true が勝つので、あとから無効化できません。
{
"isolatePeerMachines": true
}
暴走の心配は要りません。同じ相手への連投は制限され、短時間の同じ内容は捨てられ、未読は50件で頭打ちになります。伝言のループは自然に止まる設計です。
派手な機能ではありません。セッションを1本しか立てない人には完全に無関係です。それでも、毎日3本ターミナルを開く人には、その日から効きます。