Claude Codeセッション間メッセージングの使い方|複数セッションを連携させる
先に結論: 複数セッションを連携させるには、Claude Code v2.1.224以降のmacOS/Linuxで
/list-agentsから相手を確認し、日本語で「伝えて」と頼むだけで要約テキストが届きます。
複数のターミナルでClaude Codeを同時に走らせると、「片方の変更がもう片方に影響するのに伝える手段がない」という場面に出くわします。
Claude Code v2.1.224で追加されたセッション間メッセージング(Cross-session messaging)は、この「セッションをまたいだ伝達」をClaude自身に任せられる機能です。
この記事では2026年8月時点の公式ドキュメント・changelogに基づき、機能概要・使い方・できること/できないこと・従来のtmux運用との違いを整理します。
この記事の要点
- セッション間メッセージング(Cross-session messaging)はClaude Code v2.1.224で追加され、
ListAgentsでセッションを発見しSendMessageでメッセージを送る2つのツールで動作します。- 対応OSはmacOSとLinux(WSL 2上のLinuxを含む)で、公式ドキュメントはネイティブWindowsでは提供されないと明記しています。
- 送られるのは会話履歴やファイルではなく、Claudeが要約して書いた一片のテキストのみです。
/list-agents(エイリアス/peers)で、メッセージを送れる相手のセッション一覧を確認できます。crossSessionInbound設定で受信メッセージをaccept/hold/refuseのいずれで扱うか制御できます。
前提・動作環境
セッション間メッセージングを使うには、送信側・受信側の双方がClaude Code v2.1.224以降である必要があります。
対応OSは公式ドキュメントによるとmacOSとLinux(WSL 2内のLinuxを含む)で、ネイティブのWindows環境では提供されていません。またBedrockなど一部のプロバイダ経由の利用でも使えないと明記されています。
バージョンはclaude --versionで確認できます。
claude --version
2.1.226 (Claude Code)
セッション間メッセージングとは何か
この機能はListAgentsとSendMessageという2つのツールで動きます。ListAgentsで「メッセージを届けられる相手」を発見し、SendMessageで名前を指定してテキストを届けます。
ユーザーが直接呼ぶことはなく、「もう一方のセッションに伝えて」と頼めばClaudeが自律的に使い分けます。
同じSendMessageツールは1セッション内のサブエージェントやエージェントチームへのメッセージにも使われますが、この記事では独立した別セッション同士のやり取りに絞って解説します。
送られる内容は会話全体やファイルではなく、Claudeが状況を要約して書いたプレーンテキスト1件だけです。会話全体を引き継ぎたい場合は--resumeによるセッション再開を使うべきだと公式ドキュメントは案内しています。
使い方
事前準備は不要です。まず、届けられる相手のセッションを確認したい場合は次のコマンドを使います。
/list-agents
同じマシン上の他のセッション(バックグラウンドセッションを含む)や、Remote Control接続中の他マシン・Webセッションが、作業ディレクトリ名から自動生成された名前(例: myapp-3f)、または/renameコマンドや--nameフラグで設定した名前とともに一覧表示されます。
メッセージを送るときは、ツールを直接呼ぶのではなく、Claudeに日本語で頼むだけです。
隣のターミナルで動いているセッションに、マイグレーションが終わったか聞いてみて
決済APIを触っているセッションに、いま加えた変更の内容を伝えて
文面はClaudeが状況に応じて書くため、依頼の言い回しを細かく指定する必要はありません。受信側ではメッセージが送信元セッション名つきで会話に挿入され、読み終えると1行の「Message from」表示に折りたたまれます(Ctrl+Oで展開可能)。
相手がツール実行中でも割り込まず、合間かアイドル時の新ターン開始時に配信されます。
できること・できないこと
セッション間メッセージングには明確な線引きがあります。受信したメッセージは「ユーザーの承認」として扱われません。保留中の権限確認への回答には使えず、CLAUDE.mdや設定ファイルの変更を他セッションから指示されても実行しない仕様です。
メッセージ本文に/compactのようなスラッシュコマンドが書かれていても、ただのテキストとして扱われ実行はされません。同一セッション間で往復し続けるメッセージループは、送信数が絞られることで自動的に止まります。
受信側の挙動はcrossSessionInbound設定(accept/hold/refuse)で制御でき、デフォルトでは送受信双方の権限モード(確認プロンプトを出すかbypassPermissions等でスキップするか)の組み合わせから配信可否が決まります。
changelogによれば、v2.1.224時点では他マシンのセッションへは返信のみ可能で、v2.1.225で名前指定による新規送信ができるよう改善されました。
なお、X上では「セッション名指定だけでは送れないことがある」「スマホ(Remote Control)連携中は送信できない場合がある」といった利用者報告も見られますが、公式ドキュメントに明記された挙動ではなく、環境依存の未検証な利用者報告として区別してください。
一方「古いバージョンのセッションには届かない」という報告は、v2.1.224未満にSendMessage/ListAgents自体が存在しないという公式の前提と整合します。
セッション間メッセージングは、クラウド上のセッションやスマートフォンからの操作とも接点があります。公式ドキュメントは、相手のセッションが動いている場所によってメッセージの経路と可能な操作が変わることを明記しています。
同じマシン上のセッション同士はAnthropicのサーバーを経由しないソケット通信で新規メッセージ・返信のどちらも送れますが、Remote Control接続中の他マシンや、ブラウザ版「Claude Code on the web」のセッションには、Anthropicのサーバー経由で「返信のみ」可能という制約があります(2026年8月時点)。
つまりスマホからのリモート操作の主役はあくまでRemote Control自体で、セッション間メッセージングは独立起動した複数セッション同士が情報を伝え合う機能という位置づけです。
遠隔操作やクラウドへの移植は「スマホからClaude Codeを操作する方法」を、セッション同士の連携には本機能を使い分けましょう。
従来の連携手段との違い
これまでセッションをまたいだ連携は、tmuxで複数ペインを開いて手動でコピペする、あるいはサードパーティ製のメッセージング用MCPサーバーやスクリプトを自作して橋渡しする方法が中心でした。
常時稼働環境の作り方のtmux運用は「1つのセッションを維持し続ける」ための仕組みで、複数セッション同士の情報伝達そのものは解決しません。
セッション間メッセージングは、この橋渡し役をClaude Code本体の標準機能として内蔵した点が最大の違いで、追加ツールなしでも/list-agentsで相手を確認し日本語で依頼するだけで届きます。
ただし、サードパーティが提供していた柔軟なリレー設定は、標準機能ではcrossSessionInboundなど限られた項目でしか調整できません。
実用パターン
代表的な使い方は次の3つです。
- 実装役×レビュー役: 片方のセッションで実装を進め、もう片方にレビュー専任をさせておき、実装側から「このコミットをレビューして」と伝える使い方です。
- 長時間タスクの完了通知: マイグレーションやテストスイートの実行など時間のかかる作業を任せたセッションから、自分が見ている別セッションに完了報告を送らせる使い方です。使用制限対策で紹介した並行作業とも相性が良く、待ち時間を無駄にしません。
- 並列worktreeの連携: git worktreeで分けた複数の作業ディレクトリをそれぞれ別セッションで進める場合、片方の変更がもう片方の前提を崩したときにClaudeが自発的に警告を送ってくれることがあります。
複数タスクの並列実行をCodexで行うなら「Codexで複数タスクを並列実行する方法」も参考になります。こちらは独立したサンドボックスでタスクを完結させる発想が中心で、稼働中のセッション同士が情報をやり取りする本機能とは狙いが異なります。
つまずきポイント
/list-agentsが認識されない: 機能自体が使えていません。claude --versionでv2.1.224以上か確認してください。- 一覧には出るのに届かない: 受信側の
crossSessionInbound設定や権限モードの組み合わせで、保留・拒否されている可能性があります。 - コンテナ内のセッションに届かない: コンテナは独自のファイルシステムを持つため、ホスト側セッションとは原則到達できません。
よくある質問
セッション間メッセージングを使うのに特別な設定は必要ですか?
いいえ。v2.1.224以降のClaude CodeがmacOS/Linuxで動いていれば、追加設定なしで有効になります。受信の挙動を細かく制御したい場合のみcrossSessionInbound設定を使います。
Windowsでは本当に使えませんか?
公式ドキュメントによると、ネイティブWindowsでは提供されていません。WSL 2上のLinuxであれば対応環境に含まれるため、WSL経由での利用を検討してください。
会話の続きをそのまま別セッションに引き継ぎたい場合はどうすればいいですか?
セッション間メッセージングは要約テキストを1件届けるだけの機能なので、会話全体やファイル状態をそのまま引き継ぎたい場合は--resumeによるセッション再開を使ってください。
まとめ
セッション間メッセージングは、v2.1.224で追加されたListAgentsとSendMessageによるセッション同士の連携機能です。会話履歴やファイルではなく要約テキストのみを届ける割り切った設計で、対応OSはmacOSとLinux(WSL 2含む)に限られます。
tmuxでの手動連携やブリッジツールに頼らずとも、/list-agentsで相手を確認し日本語で頼むだけで、実装役とレビュー役の分担や長時間タスクの完了通知が試せます。
基本操作は「Claude Codeの使い方完全ガイド」、常時稼働環境との組み合わせは「常時稼働環境の作り方」もあわせてご覧ください。