本文へ移動
Claude Tips

セッション間のメッセージ

自分の別の Claude Code セッション(同じマシン・別のマシン・クラウド)へ Claude にメッセージを送らせる機能です。送り方、受信の制御、制限、設定キー、利用条件をまとめています。

セッション間のメッセージを使うと、Claude が自分のセッションから別のセッションへメッセージを届けられます。あるセッションの変更が、別のセッションの作業を壊すとき、気づく前に警告できます。あるセッションが、別のセッションが詰まっている疑問に結論を出したとき、答えを送れます。メッセージは、送り手の Claude が書いた文章であって、送り手の会話履歴やファイルではありません。会話全体や文脈を移したいときは、代わりにセッションを再開します。

補足

macOS と Linux(WSL 2 上の Linux を含む)では Claude Code v2.1.224 以降、ネイティブの Windows では v2.1.234 以降が必要です。要件を満たすセッションでは、何も有効にしなくてもメッセージが使えます。

  • 調査結果や決定を、影響を受ける作業のセッションへ渡す(コピー&ペーストの代わり)
  • 別々のworktreeで同じリポジトリを扱うセッションに、何が入ったかを伝える
  • 長い作業(移行やテスト)の状況を、見ているセッションに報告させる。同じマシンなら、次にアイドルになるか終了したときの通知も頼める
  • 別のマシンやクラウドのセッションにも届く
  • 並列セッションを使い分ける全体像は、並列作業の選び方を見てください

別のセッションにメッセージを送る#

あるセッションが、別のセッションが必要とすること(調査結果・状況・決定)を知ると、Claude がそれを渡します。Claude は ListAgents で宛先を探し、SendMessage で送るので、自分でどちらのツールも呼びません。頼まれなくても Claude が送ると決めることもあり、自分から頼むこともできます。頼むときは、別のセッションに知らせたい・させたいことを Claude に伝えます。次は自分で入力するプロンプトの例で、Claude が送るメッセージではありません。

text
Ask the session running in my other terminal whether the migration finished

実際のメッセージは Claude が書くので、内容は Claude に任せられます。次のプロンプトは、文言を指定せず要約を頼んでおり、Claude が送る内容は毎回変わります。

text
Explain what we just did to the session working on the payments API

宛先を自分で指定するには、プロンプトでセッションをメンションします。@ に続けてセッション名の最初の数文字を入力し、候補から選びます(サブエージェントを @ メンションするのと同じ要領。v2.1.232 以降)。Claude Code が @api-worker のようなメンションを挿入し、どのセッションを指すかを Claude に伝えるので、Claude はセッションを一覧しなくてもそこへ送れます。

text
Let @api-worker know the schema migration finished

候補には、同じマシンの、ほかの生きているセッションが出ます。名前の最初の数文字では足りない場合が2つあります。

  • このマシンの外のセッション:クラウドや Remote Control のセッションは、Claude がマシンの外のセッションを一覧するか、メッセージを送ったあとにしか候補に出ない。先に Claude に一覧させる
  • 空白や、英数字・ハイフン・アンダースコア以外の文字を含む名前:二重引用符で囲んで入力する(@"release notes")。候補から選べば、引用符は Claude Code が入れる

ピッカーを使わずに、メンションを直接入力することもできます。メンションした名前に答える生きたセッションが複数あるときは、送る前に Claude がどれかを聞きます。

メッセージの配信#

受け手の Claude は、作業中のターンのツール呼び出しの合間にメッセージを読みます。実行中のツールが中断されることはありません。受け手のセッションがアイドルなら、Claude Code がそのメッセージで新しいターンを始めます。別のセッションからのメッセージはプレーンテキストで届きます。@ でファイルや MCP リソースに触れていても、Claude には書かれたとおりに見えるだけで、Claude Code は何も添付しません。Claude は、受け手のマシンでそのパスを、自分のツールで(そのセッションの権限のもとで)開けます。

次の場合、Claude Code はメッセージを拒否します。

  • メッセージがサイズの上限を超える(送り手のセッションで、送る前に拒否される)
  • このマシンのセッションへの短時間の連続送信が、そのセッションの受信箱が受け付ける量に達した(以降のメッセージを拒否する)
  • このマシンの外のセッションが、メッセージを受け取れないものとして一覧に出ている(送り手のセッションで、マシンの外へ出る前に拒否される)
  • このマシンの返信先が、シンボリックリンクの宛先のような安全確認に失敗した(Refusing to send a cross-session message にその確認の一覧がある)

受け手のセッションは、届いたメッセージを自分の受信の制御と照らし、次の3つのどれかで終わります。

結果 動作
Delivered(配信) Claude Code がメッセージを受け手の Claude に渡す
Held(保留) 配信せずに脇に置く。承認するか、あとのモードや設定の変更が許可したときにだけ、Claude に届く
Refused(拒否) 配信せずに捨てる

配信されたメッセージは、自分で入力したプロンプトと同じように使用量に数えられ、受け手の Claude も同じ方法で返信できます(一方向になる、マシンをまたぐ場合を除く)。権限の境界はセッションごとに保たれます。Claude は、自分のセッションで拒否・ブロックされた操作や、自分の権限設定がブロックする操作を、別のセッションに頼まないよう指示されていて、その作業はあなたに戻します。受け手側でも、メッセージが求める操作には、受け手のセッション自身の権限プロンプトとルールがそのまま適用されます。

別のセッションがアイドルになったら通知をもらう#

Claude は、同じマシンのセッションに、次にアイドルになるか終了したときに、通知を1回返すよう頼めます。ここでのアイドルは、キューに何もなく、ターンを終えた状態です。別のセッションの長い作業を待っていて、確認しに行く代わりに、終わったと知りたいときに使います。送り手・受け手の両方が v2.1.236 以降である必要があります。

待っている内容を Claude に伝えます。

text
Tell me when the migration session finishes what it's working on

Claude は、SendMessage ツールの notify_when_idle の入力で購読します。送るメッセージに添えることも、単独のこともあります。単独なら、Claude Code は見られているセッションでターンもトークンも使わずに購読し、そのセッションがすでにアイドルなら、すぐ通知を送ります。メッセージに添えた場合は、メッセージを先に届け、通知はあとで送ります。

  • 見られているセッションには、別のプロセスが次のアイドルを知らせるよう頼んだという1行が出る。頼んだ側には、見られているセッションの名前を示す1行として通知が出る(そのセッションのターンが終わった時刻と、そのターンの1行の状況を含むことがある)。頼んだ側がアイドルなら、Claude Code が通知で新しいターンを始める
  • 12時間以内に通知が来なければ、Claude Code は購読を捨てて Claude に伝えるので、待ち続けない
  • 通知にも、それぞれの側の受信の制御が、メッセージと同じように適用される:どちらかが refuse なら何も届かない(見られている側は要求を記録も返答もせずに捨て、購読は答えのないまま12時間後に切れる。頼む側が refuse なら購読しない)。どちらかが hold なら、届くものが減る(見られている側は1行の状況を省き、頼んだ側はトランスクリプトに通知を出すが Claude には配信しない)
  • 購読できるのは、メインの会話の Claude だけで、同じマシンの自分のセッションだけ。チームメイト・サブエージェント・マシンの外のセッションなど、ほかの宛先を指定すると、Claude Code は添えたメッセージも含めて、呼び出し全体を拒否する

Claude が届けられるセッションを見る#

Claude は宛先を自分で探すので、送るよう頼む前に何かを実行する必要はありません。自分で見るには /list-agents(別名 /peers)を実行します。最初の行は、あれば、このセッション自身の名前(ほかのセッションがメッセージを送るときに使う名前)です。その下の行が、Claude が届けられるセッションです。

行 内容
サブエージェント 現在のセッションの中で動いているエージェント
チームメイト このセッション自身のエージェントチームのチームメイト
同じマシンの自分のほかのセッション バックグラウンドセッションを含む、同じマシンの Claude Code セッション。受信箱のソケットを持つセッションだけが出る
自分のクラウドのセッション このセッションが Remote Control につながっている間に出る
別のマシンの自分の Remote Control セッション このセッションが Remote Control につながっている間に出て、Remote Control と表示される。接続が切れたセッションの状態は offline と出る

このセッションが Remote Control につながっているとき、Claude Code は、ローカルのセッションの一部の詳細を /list-agents の出力から伏せます(Claude 自身が宛先を探すときに見えるものは変わりません)。

  • 作業ディレクトリ:各ローカルセッションの作業ディレクトリを省く
  • セッション名:人に結びつけられない名前は省くので、名前のない行は (unnamed session) になる
  • 最初の行:起動か最後の再開以降に、この端末で --name や /rename で自分で入力した名前でなければ、このセッション自身の名前の行を省く

一覧に何か出るとき、出力の最後に、詳細を伏せたという注記が付きます。セッション自身のキーボードで、/rename に未使用の名前を続けて実行すると、そのセッションに出力に出る名前が付きます。

セッションは、/rename コマンドか --name フラグで決めた名前に応えます。設定していなければ、Claude Code が名前を付けます(対話セッションなら、実行中のセッションの一覧に出る名前)。同じマシンの別の生きたセッションがすでに使っている名前に変える・その名前で対話セッションを始めるか再開すると、Claude Code は名前をすでに持つセッションに残し、あなたのほうを別の名前に変えます。それでも、ほかのセッションが古いバージョンだった、共有の名前が Claude Code の生成したものだった、などの理由で、名前が重なることはあります。宛先の決まり方は次のとおりです。

  • 1つのセッションがその名前に応える:Claude Code は名前だけで配信する
  • 複数のセッションが名前を共有する、または Claude Code がセッションの動くすべての場所を確かめられなかった:Claude は一覧の各行に短い識別子を付け、宛先にその識別子を使う

別のマシンのセッションへ送る#

メッセージの経路と、Anthropic のサーバーを通るかどうかは、宛先のセッションが動く場所で決まります。

相手のセッションの場所 経路
このマシン macOS と Linux ではセッションごとのソケット、ネイティブの Windows ではセッションごとの名前付きパイプ。Anthropic のサーバーは通らない
自分の別のマシン Anthropic のサーバー経由で、そのマシンの Remote Control の接続に届く
クラウド Anthropic のサーバー経由で、クラウドのセッションへ直接

自分の別のマシンのセッションと会話を始めるには、v2.1.225 以降と、一覧に出る宛先が必要です。一覧の各行には、Claude がそのセッションへ送るときの動作を変える状態が出ることがあります。

  • offline:そのセッションの Remote Control の接続が切れている。送信は成功するが、メッセージが届くのは、そのセッションのマシンが再接続してから
  • can't receive cross-session messages (off in that session):そのセッションでメッセージ機能が使えないか、crossSessionInbound の値が refuse。メッセージがマシンの外へ出る前に Claude Code が拒否する。Claude の SendMessage 呼び出しの結果は Not sent で始まり、理由が示される。そのセッションで原因が直れば、あとの一覧からこの状態は消え、Claude がそのセッションへ送れるようになる

コンテナの中のセッションとホストのセッションは、互いに届きません。同じコンテナ内の2つのセッションは、セルフホストのランナー上でも、互いにメッセージを送れます。WSL 2 の中のセッションと、同じコンピュータのネイティブの Windows のセッションも、互いに届きません。マシンの外のセッションへ送るとき、このセッションが Remote Control につながっていなくても、メッセージは届きますが、返信先がないので、受け手の Claude は返信できません。メッセージがマシンの外へ出る前に毎回承認を求めるには、isolatePeerMachines を設定します(下の「セッション間のメッセージを制限する」の節)。

届いたメッセージの扱い#

セッション A がセッション B にメッセージを送ると、Claude Code は B の Claude に、メッセージがあなたではなく別のセッションから来たことを伝え、メッセージにできることを制限します。

  • 何も承認できない:別のセッションからのメッセージは、あなたの同意として数えられず、あなたの代わりに保留中の権限プロンプトに答えられない
  • 設定を変えられない:受け手の Claude は、別のセッションに頼まれても、権限設定・CLAUDE.md・そのほかの設定を変えないよう指示される
  • コマンドは実行されない:メッセージの文面の中の /compact のようなコマンドは、プレーンテキストとして届く。Claude Code は実行しない
  • 権限プロンプトは出る:メッセージに従うのに、受け手のセッションにない権限が要るなら、ほかの作業と同じプロンプトが出る

メッセージの見え方#

メッセージが届くと、Claude Code は会話の中に、薄い1行のプレビューとして出し、プレビューの行はそのあとも会話に残ります。送り手の名前とメッセージの最初の行(長ければ … で切る)が出ます(› Message from @api-worker: Schema migration finished (ctrl+o to expand) のように)。全文は次のどれかで見られます。

プレビューが短くするのは見える部分だけで、展開してもしなくても、Claude は全文を読みます。Claude は、送り手の名前と返信先つきでメッセージを受け取ります(返信先を持たない、一方向のマシン間メッセージを除く)。次は、ある Claude が別の Claude に書いたメッセージを、展開したときの全文の例です。

text
Schema migration finished
The new column is tenant_id, and rebasing on main is safe now.

受信を制御する#

別のセッションから届くメッセージをどう扱うかは、crossSessionInbound で決めます。

値 動作
accept 各メッセージを Claude に配信する
hold メッセージごとに通知を出し、配信しない。あとで accept が適用されると、保留したメッセージを解放する
refuse 各メッセージを配信せずに捨てる

設定ファイルを編集するほか、/config の「Messages from your other sessions」の行で値を選べます。選んだ値は、ユーザー設定に書かれます。この行は v2.1.232 以降で使え、管理設定や --settings がこのキーを設定している間は、ユーザー設定の値が効かないので出ません。/config crossSessionInbound=value の短縮形は拒否されます。どの値が適用されるかは、設定のリファレンスの crossSessionInbound の優先順位に従います。

値が適用されないときは、Claude Code が、2つのセッションの権限モードからメッセージごとに決めます。権限プロンプトを飛ばすセッションを1つのクラスにまとめ、それ以外をもう1つのクラスにします。利用できる状態の bypass がある対話のターミナルセッションでは、プランモードは飛ばす側に数えられ、auto・acceptEdits・dontAsk は、プロンプトを出す側に数えられます。

  • 受け手が権限プロンプトを出す:各メッセージを配信する。送り手が権限プロンプトを飛ばすと名乗るときだけ、承認のために保留する
  • 受け手が権限プロンプトを飛ばす:各メッセージを承認のために保留する。送り手も飛ばすと名乗るときだけ配信する

既定が対話のターミナルセッションでメッセージを保留すると、そのセッションに承認のダイアログが開きます。ダイアログには送り手とプレビューが出ます。

  • Approve:そのメッセージ1つを Claude に配信する
  • Deny、またはダイアログを閉じる:捨てる
  • dialogExpiry の期限(既定は5分)まで答えないと、ダイアログを閉じてメッセージを捨てる
  • バックグラウンドセッションに端末がつながっていない間は、期限を過ぎてもダイアログを開いたままにする。アタッチしたあと、期限の1回分だけ答えなければ、ダイアログを閉じてメッセージを捨てる
  • メッセージが保留されている間に、このセッションの権限モードのクラスが変わると、受信のルールを適用し直し、いま受け付けるメッセージを配信して通知する
  • 保留するのは最大100件で、超えると古いものから捨てる

VS Code 拡張やデスクトップアプリのセッションはダイアログを出せません。Claude Code は、そこで保留したメッセージを同じ期限まで保持します(下の「非対話のセッション」と同じ扱い)。

非対話のセッション#

claude -p のセッションにも、対話のセッションと同じく、Claude Code が受信箱のソケットを用意します。そのため、長く動く -p のワーカーはメッセージを受け取れ、一覧にも出ます。bare モードで始めたセッションには、ソケットを用意しないので、メッセージを受け取れず、エージェントの一覧にも出ません。

-p のセッションには承認のダイアログを出せません。受信の既定がメッセージを保留すると、ダイアログと同じ dialogExpiry の期限(既定は5分)まで保持します。

  • 期限の前:モードや設定の変更がメッセージを許可すれば、配信する
  • 期限のあと:メッセージを捨て、届けられる送り手には、期限切れと報告する

dialogExpiry を "never" にすると、既定で保留したメッセージを、セッションが終わるまで保持します。明示的な hold の設定で保留されたメッセージは期限切れにならず、あとで accept が適用されたときだけ配信されます。-p のワーカーが人手なしでメッセージを受け取れるようにするには、--settings の値で crossSessionInbound を accept にして始めます。ユーザー設定の accept でも動きますが、動かすすべてのセッションに適用されます。

セッションの受信箱のソケット#

この節は、期待したセッションがエージェントの一覧にないとき、スクリプトやフックからセッションにメッセージを書き込みたいとき、サンドボックス内のコマンドがソケットに届かないときに読みます。

Claude Code は、セッション間メッセージが有効な各セッションに受信箱のソケットを用意し、同じマシンのほかのセッションがそこへメッセージを届けます。ソケットは、macOS と Linux(WSL 2 上の Linux を含む)では Unix ドメインソケット、ネイティブの Windows では名前付きパイプです。ソケットのパスは2か所で分かります。

  • /status の Peer address の行(パスの頭に uds: が付く)
  • Claude Code がフックと Bash コマンドへ環境変数 CLAUDE_CODE_MESSAGING_SOCKET として渡す。メッセージが有効なセッションでは、SessionStart を含む、どのフックよりも先にこの変数を渡す

macOS と Linux では、ソケットは自分の OS ユーザーに限られます。ネイティブの Windows では、代わりに、自分の OS ユーザーだけが読めるキーで、各接続に最初に認証を求めます。どちらも、共有マシンでほかのユーザーのセッションは配信できません。

macOS と Linux では、別のユーザーが所有するディレクトリのように、受け付けられないディレクトリにソケットを作るのを拒否し、代わりにユーザーごとの専用ディレクトリ /tmp/cc-socks-<uid> を使います。受け付けられるディレクトリがなければ、そのセッションは受信箱なしで動き、通知が出て、/status の Peer address の行に unavailable と理由が出て、--debug のログに拒否の全文が残ります。

ソケットのパスと並んで、Claude Code はセッションごとのトークンを CLAUDE_CODE_MESSAGING_TOKEN として渡します。自分のセッションのソケットへ書き込むスクリプトは、接続の最初の行に {"type":"auth","token":"<token>"}(<token> は CLAUDE_CODE_MESSAGING_TOKEN の値)を送れます。この行が要るかは、プラットフォームで違います。

プラットフォーム 認証の行
macOS と Linux(WSL 2 を含む) 任意。あってもなくても接続を受け付ける
ネイティブの Windows 必須。最初の行が有効な認証の行でない接続は閉じ、その接続からは何も配信しない

書き込むメッセージの準備ができてから接続を開いてください。Claude Code は、30秒以内に完全な1行を送らない接続を閉じるので、遅いコマンドの出力は先に取っておき、それから接続を開いて送ります。

ソケットに届くメッセージも、ほかの相手からのメッセージと同じ受信の制御を通りますが、例外が1つ、前提条件が1つあります。

  • 自分の子プロセスからのメッセージ:crossSessionInbound の値が適用されないとき、Claude Code は、セッション自身の子プロセス(自分のセッションのソケットへ書き戻すフックや Bash コマンドなど)から来たと確認できたメッセージを配信する
    • Linux(WSL 2 を含む)では、すでに終了した子でも、プロセスの証拠で確認できる。macOS では、書き込むプロセスがまだ動いている間だけその方法で確認でき、Claude Code がプロセス ID 1 で動くコンテナには、プロセスの証拠がまったくない。ネイティブの Windows にもない
    • macOS で書き込んだプロセスが終了したあとと、Claude Code がプロセス ID 1 で動くコンテナでは、そのプロセスの証拠がないので、接続を開いた認証の行でセッションのエクスポートした CLAUDE_CODE_MESSAGING_TOKEN を送った子を確認する。ネイティブの Windows では、このトークンが自分の子のメッセージを確認する唯一の方法
    • どちらでも確認できないときは、権限のクラスを名乗らないほかのメッセージと同じに扱うので、権限プロンプトを飛ばすセッションは、承認のために保留する
  • サンドボックスのセッション:サンドボックスの内側の Bash コマンドがソケットに届くかは、サンドボックスの Unix ソケットの設定 sandbox.network.allowAllUnixSockets と sandbox.network.allowUnixSockets で決める

セッション間のメッセージを制限する#

メッセージごとの既定に加えて、2つの方法で絞れます。メッセージがマシンから出る前に承認を求めるか、セッションや組織でメッセージをオフにします。

マシンをまたぐメッセージに承認を求める#

マシンの外のセッションへの SendMessage が届く前に、明示的な承認を求めるには、isolatePeerMachines を true にします。

json
{
  "isolatePeerMachines": true
}

これを設定すると、通常の権限プロンプトを飛ばす bypassPermissions モードでも、マシンの外のセッションへの Claude のメッセージが出る前に、Claude Code は承認を求めます。どの設定スコープの true も適用されるので、チェックイン済みのプロジェクトファイルは、この要求をオンにできますが、オフにはできません。同じマシンのセッション間のメッセージには、確認しません。

セッション間のメッセージをオフにする#

受信と送信は別の制御なので、必要な向き、または両方をオフにします。届くメッセージには crossSessionInbound を、ここの Claude が送れるもの・一覧できるものには権限ルールを使います。

  • 受信を止める:crossSessionInbound を refuse にする。Claude Code は、届いたピアのメッセージを配信せずに捨てる。プロジェクト設定やローカル設定の refuse は、ほかのどの読み込み元よりも優先して適用される。ユーザー設定の refuse は、管理設定や --settings が値を設定していなければ適用される
  • 送信と一覧を止める:SendMessage と ListAgents を名指しする権限の deny ルールを足す。どちらも、指定子なしのツール名そのままを使う

管理者は、組織全体で、管理設定で両側をオフにできます。deny ルールと refuse を組み合わせます。

json
{
  "permissions": {
    "deny": ["SendMessage", "ListAgents"]
  },
  "crossSessionInbound": "refuse"
}

これを設定しても、Claude Code は各セッションの受信箱のソケットを用意しますが、届いたすべてのメッセージを、Claude に何も配信せずに捨てます。SendMessage を deny にすると、同じツールがサブエージェントとエージェントチームのチームメイトへのメッセージも担うので、それらへのメッセージもなくなります。refuse のセッションは、自分の /status にも、同じマシンのほかのセッションの一覧にも、見える変化がありません。確認するには、状態ではなく、そのセッションに適用される設定ファイルを見ます。

利用条件#

macOS・Linux・WSL 2 では Claude Code v2.1.224 以降、ネイティブの Windows では v2.1.234 以降が必要です。使えるか、どのセッションに送れるかは、OS・プロバイダー・設定でも変わります。

  • OS:macOS・Windows・Linux(WSL 2 上の Linux を含む)で使える
  • このマシンのセッション:Amazon Bedrock・Claude Platform on AWS・Google Cloud の Agent Platform・Microsoft Foundry を含むすべてのプロバイダーで、また機能フラグの取得をオフにしたセッションでも使える。これらのプロバイダーと、フラグの取得をオフにした場合の同じマシン内のメッセージには、v2.1.248 以降が必要。メッセージは、マシン上のセッションごとのソケットで配信され、Anthropic のサーバーは通らない。受け取りを止めるには、crossSessionInbound を refuse にする
  • このマシンの外のセッション:Claude が、クラウドのセッションと別のマシンのセッションを見つけられるのは、Remote Control につながったセッションからで、このセッションの有効な認証としての claude.ai のサインインと、ほかの Remote Control の要件が必要。API キーや、Amazon Bedrock・Claude Platform on AWS・Google Cloud の Agent Platform・Microsoft Foundry では、これらのセッションを見つけられない

セッションの確認には /list-agents(別名 /peers)を入力します。結果から、この機能を持たないセッションと、SendMessage ツールがない・送信が拒否されたなど、もっと狭い理由でブロックされたセッションを区別できます。

症状・原因 意味・確認すること
/list-agents が認識されない そのセッションにはセッション間のメッセージがない。上の要件を確かめる(まず claude --version でバージョンを確認する)
/list-agents は動くが、送ったものが届かない メッセージはオンで、もっと狭い理由がある
deny ルール 権限の deny ルールが、SendMessage と ListAgents のツールを取り除いている
受信の制御 受け手のセッションの受信の制御が、送ったものを保留するか捨てている
クラウドのセッションがない クラウドのセッションは、このセッションが Remote Control につながっている間だけ出る
別のマシンのセッションがない 別のマシンのセッションは、それが Remote Control で動き、このセッションもつながっているときだけ出る
別のマシンのセッションが offline offline のセッションへのメッセージは届くが、そのセッションのマシンが再接続してから届く
クラウドや別のマシンのセッションが can't receive cross-session messages この状態で一覧に出るセッションへのメッセージは、マシンの外へ出ず、SendMessage の結果は Not sent で始まる
古いクラウドや別のマシンのセッションがない Claude Code はそれらのセッション一覧を新しい順に、限られたページ数まで読むので、そこを過ぎたセッションには、名前で送れない

メッセージのあるセッションでは、/status に Peer address の行も出て、セッション自身の受信箱のアドレス(受信箱を用意できなかったときは、unavailable と理由)が分かります。

制限#

これらは、メッセージのチャンネル自体の性質で、この機能が動くところならどこでも当てはまります。プラットフォームやプロバイダーによる差は、上の「利用条件」を見てください。

  • プレーンテキストだけ:Claude がセッション間で送るのはプレーンテキストだけ。エージェントチームの構造化されたプロトコルメッセージは、チームの中にとどまる
  • 同じマシンのメッセージのサイズには上限がある:同じマシンのセッションへのメッセージが、直列化した形で約100万文字を超えると、Claude Code は拒否する。拒否は正確なサイズを示す。受け手のセッションには何も届かない
  • 1つのセッションへの短時間の連続送信は、送り手で拒否される:同じマシンのセッションへの短時間の連続送信が、そのセッションの受信箱が受け付ける量に達すると、Claude Code は送り手のセッションでそれ以降の送信を拒否する。拒否が連続送信を示し、残りを1通にまとめるか、待つよう Claude に伝える
  • メッセージのループは抑えられる:受け手のセッションで、Claude Code は送り手ごとに繰り返しのメッセージを制限し、短い間に届く同一の繰り返しを捨て、Claude が読むために受け付けたメッセージを最大50通までキューに入れる。そのため、2つのセッションの間のメッセージのループは、自然に止まる

関連:1つのセッションやチームの中のメッセージはサブエージェントとエージェントチーム、並列セッションの投入と監視はエージェントビュー、マシンをまたぐ接続はリモートコントロール、CI の結果やチャットなどの外部イベントをセッションに流し込むのはチャネルです。

公式ドキュメント(英語)

2026年10月5日時点の内容をもとに、日本語でまとめています。

ページの一覧