できること
セッション間の連絡
Claude が ListAgents で宛先を見つけ、SendMessage で別のセッションにメッセージを送ります。ユーザーがこれらのツールを直接呼ぶ必要はなく、Claude が自分の判断で送ることも、ユーザーが送るよう指示することもできます。
別マシンやクラウドへ
別のマシン上やクラウド上にある自分のセッションにもメッセージを送れます。他のマシン上の Remote Control セッションには、名前を指定してこちらから会話を始められます。
アイドル時の通知
同じマシン上の別セッションに、次にアイドルになったとき、または終了したときに通知を 1 回だけ返すよう依頼できます。
機能解説
概要
Claude は ListAgents で宛先のセッションを見つけ、SendMessage で送ります。届くのは Claude が書いたテキストだけで、送信側の会話履歴やファイルは含まれません。宛先は同じマシン上のセッションに限らず、別のマシン上やクラウド上のセッションも指定できます。
セッション間で届くメッセージは、ある Claude が別の Claude に向けて書いたテキストです。送信側の会話履歴やファイルは含まれません。
受信側の動きは次のとおりです。
- 受信側の Claude がターンの実行中であれば、ツール呼び出しの合間にメッセージを読みます。実行中のツールが中断されることはありません。
- 受信側のセッションがアイドルのときは、Claude Code がそのメッセージで新しいターンを始めます。
- 受信側の Claude は、一部の場合を除き、
SendMessageで送信側に返信できます。 - 届いたメッセージは会話の中に薄い 1 行のプレビューとして表示され、そのプレビューは後も会話に残ります。
受信メッセージの扱いと安全面
別のセッションから届いたメッセージは、ユーザーの同意として扱われません。保留中の許可確認に、ユーザーの代わりに応答することはできません。中継されたメッセージはユーザー権限を持たず、受信側は中継された許可要求を拒否し、auto mode はそれをブロックします。
メッセージの本文に /compact のようなコマンドが含まれていても、ただのテキストとして届き、Claude Code が実行することはありません。
auto mode では、SendMessage で他のエージェントセッションに送るメッセージが、送信前に許可分類器 (permission classifier) で評価されます。
提供状況の注意
セッション間メッセージは macOS と Linux で追加され、その後 Windows でも使えるようになりました。Bedrock、Vertex、Foundry 上、およびテレメトリを無効にしている場合は、同じマシン上のセッション間で SendMessage / ListAgents を使えます。アイドル時の通知 (notify_when_idle) は macOS と Linux が対象です。対象プランについては、公式のリリースノートには記載がありません。
管理者・導入時に確認したい点
受信と送信の扱いは、設定で制御できます。
crossSessionInboundをaccept・hold・refuseのいずれかに設定し、他のセッションから届いたメッセージの扱いを選びます。設定ファイルを編集する代わりに、/configの Messages from your other sessions (他のセッションからのメッセージ) の行で値を選ぶこともでき、選んだ値はユーザー設定に書き込まれます。- 権限をバイパスして実行中のセッションに届いたセッション間メッセージは承認待ちになり、それ以外のセッションへのメッセージは自動で配信されます。
/configには Dialog expiry の行もあります。 - 受信を拒否しているこのマシン上のセッションに送った場合、送信側には「refused」と報告されます。
isolatePeerMachinesをtrueにすると、このマシンの外にあるセッションへSendMessageが届く前に、ユーザーの明示的な承認が必要になります。- 受信を止めるには
crossSessionInboundをrefuseに設定します。届いたメッセージは配信されずに破棄されます。 - 送信とセッションの一覧表示を止めるには、
SendMessageとListAgentsを指定した permission deny rules (許可の拒否ルール) を追加します。どちらも指定子を付けないツール名だけで書きます。
使い方
/list-agentsコマンドを実行し、Claude がメッセージを届けられるセッションを確認します。- 相手のセッションに知らせたいこと、またはしてほしいことを Claude に伝えます。
- 宛先を自分で指定する場合は、プロンプトで
@に続けてセッション名の先頭の文字を入力し、候補の一覧からセッションを選びます。 - 受信側では、メッセージが会話の中に薄い 1 行のプレビューとして表示されます。全文は
Ctrl+Oでトランスクリプトビューアーを開き、送信元のセッション名の下で読めます。
利用シーン
並行して動かしている複数の Claude Code セッションの間で、作業の依頼や伝達事項をテキストで渡す場面に向いています。
手元のマシンのセッションから、別のマシンやクラウド上の自分のセッションへ指示を送る場面に使えます。
別セッションの作業が終わるのを待ってから次の作業に移りたい場面で、アイドル時の通知を依頼する使い方に向いています。
権限をバイパスして動かすセッションや外部マシンとのやり取りを、承認制にして運用したい場面に使えます。
ChatGPT・OpenAI の対応する機能
比較の単位となる業務: 複数のエージェントセッション間でのメッセージ送受信と連携
OpenAI の Codex では、TUI にエージェントの概要 (agents overview) ダッシュボードが追加され、インタラクティブなタスクダッシュボードとして使えます。専用の codex agents ダッシュボードコマンドがあり、agent command center では最近のセッションの表示やセッションの再開ができます。cross-session SendMessage は、Claude が ListAgents で宛先のセッションを見つけ、SendMessage でテキストのメッセージを届ける仕組みです。
ChatGPT Voice では、voice mode で新しいチャットやタスクを始め、ほかのスレッドの作業の開始・確認・方向修正を ChatGPT に頼めます。cross-session SendMessage は、プロンプトでの指示や @ によるセッション名の指定をもとに、Claude が別のセッションへメッセージを送ります。
これまでの変更
Bedrock、Vertex、Foundry 上、およびテレメトリ無効時に、同じマシン上のセッション間でセッション間メッセージに対応しました。
Windows でもセッション間メッセージに対応しました。
notify_when_idleが追加され (オプトイン、1 回限り、ポーリングなし、macOS と Linux)、受信を拒否しているこのマシン上のセッションへの送信は送信側に「refused」と報告されます。プロンプトで
@を入力してセッションを名前で指定する方法、/configの「Dialog expiry」と「Messages from your other sessions」の行が追加されました。ListAgentsは切断された Remote Control セッションを offline と表示し、クラウドセッションに cloud のラベルを付けます。cross-session SendMessage が追加され、自分のどのマシン上のセッション同士でもメッセージを送り合い、
ListAgentsで相手を見つけられる形になりました (macOS と Linux)。同時に、auto mode での送信前の許可分類器による評価、crossSessionInboundとdialogExpiryの設定、他のマシン上の Remote Control セッションへの名前指定での会話開始 (ListAgentsでは name [ref] と表示) が追加されました。SendMessageで他のセッションから中継されたメッセージがユーザー権限を持たない形に強化されました。