Claude Code v2.1.224 — 別マシンのセッションがSendMessageで直接連携
Claude Code v2.1.224は31項目の更新です。別マシンのセッション同士がSendMessageで直接やり取りでき、サブエージェントの200件上限も撤廃されました。
Claude Code v2.1.224は31項目の更新です。内訳はAdded 7件、Fixed 15件、Improved 3件、Changed 5件、Removed 1件。中心は3つあります。別マシンで動くセッション同士がSendMessageで直接メッセージをやり取りできるようになりました。サブエージェントのセッションあたり200件という上限も撤廃されています。加えてTeamとEnterpriseプランでは、セルフホスト環境(self-hosted environments)がパブリックベータとして加わりました。
前半の2つは同じ方向を向いています。1セッションで完結しない、長時間・多エージェントの運用を前提にした変更です。直前のv2.1.223(19項目、Added 3件)は権限まわりの穴塞ぎが中心でしたが、今回は運用の幅を広げる回に転じています。
このリリースで何ができるようになるか
変化は3つです。クロスセッションのSendMessageと新しいListAgentsツールで、別マシンのセッション同士が互いを見つけ、直接メッセージを送れるようになりました。サブエージェントの総発行数を縛っていた200件の上限が消え、Team・Enterpriseプランではセルフホスト環境がベータとして使えます。
別マシンのセッションがSendMessageで直接やり取りする
SendMessageはもともと、同一セッション内で一時停止したサブエージェントを再開するためのツールでした。セッションをまたぐやり取り自体はv2.1.224より前から存在し、v2.1.166で中継メッセージの権限が絞られました。v2.1.224では、macOSとLinux上のClaude Codeセッション同士であれば、別のマシンで動いていてもSendMessageで直接メッセージを送れます。相手を探す側にはListAgentsという新しいツールが加わりました。設定項目と使い分けの詳細はClaude Code SendMessageで複数マシンのエージェントを連携するで扱っています。
送る側と受け取る側で挙動が分かれます。bypassPermissions(許可プロンプトを一切出さないモード)で動いているセッションへの着信は、新設のcrossSessionInbound設定によって承認待ちで保留されます。それ以外のセッションでは、メッセージが自動配送される仕組みです。crossSessionInboundと並んでdialogExpiryという設定名も新設されています。この2つは公式の設定リファレンスにもRemote Controlのドキュメントにも項目がなく、dialogExpiryが何を制御するかは公開されている情報からは特定できません。
サブエージェントの200件上限が撤廃された
セッションあたりのサブエージェント総発行数を200件に制限する仕組みは、v2.1.212で導入されました。既定は200件で、CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSIONで上書きできます。v2.1.224でこの上限そのものが撤廃され、長時間走らせるセッションが新しいエージェントの起動を拒否されなくなりました。
消えたのは総発行数の上限だけです。同時に走らせられる数は既定20件のままで、上限に達するとConcurrent subagent limit reachedというエラーになります(CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTSで変更可、v2.1.217から)。ただしultracodeが有効なセッションはこの上限の対象外です。サブエージェントが孫エージェントを持てる深さも、既定3層のまま残っています(CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTHで変更可、v2.1.219から)。この2つは別枠の安全弁として存続しており、撤廃の対象ではありません。
ただし同時実行20件は例外のない上限ではありません。/subtaskによるセッション内フォークは枠を消費しますが上限では止まらず、終了済みサブエージェントの再開は上限を確認せずに新しい枠を取ります。再開を挟むと20件を超えることがあります。
Team・Enterpriseでセルフホスト環境がベータになった
セルフホスト環境(self-hosted environments)は、Claude Code on the webやモバイル・デスクトップのセッション、定期実行のルーティン(scheduled routines)、ターミナルのclaude --cloudを走らせる仕組みです。実行場所を自社のマシンやコンテナ上に移せます。TeamとEnterpriseプランでパブリックベータとして提供され、既定はオフです。有効化にはOwnerまたは管理者の権限が必要です。まず組織でClaude Code on the webを有効にします。そのうえで管理画面の「Cloud environments」からAllow self-hosted environmentsをオンにします。
構成要素は3つです。送信先になる名前付きのEnvironment、ネットワーク内のホストで動くRunner、そして開発者が起動する1件のタスクであるSessionです。
Runnerの起動には2つの経路があります。対話セッションが使える環境では、ガイド付きのclaude self-hosted-runner setupが使えます。管理UIでのEnvironment作成から、保存した秘密ファイルでのローカルRunner起動、Runnerが登録されたことの確認、./runner-setup/CHEAT-SHEET.mdへのチートシート書き出しまでを、対話形式のClaude Codeセッションが一通り案内します。実行にはOwnerまたは管理者ロールを持つアカウントでclaude auth loginを済ませている必要があり、APIキーやサードパーティのモデルプロバイダーでは使えません。
対話セッションが使えないホストでは、次の手動コマンドでRunnerを起動します。
claude self-hosted-runner --environment-secret-file '/etc/claude/environment-secret' --base-dir '<書き込み可能なディレクトリ>'--base-dirを省略すると既定で/workspaceが使われますが、このディレクトリが事前に存在して書き込み可能であるか、Runnerがroot権限で動いていない限り機能しません。
このサブコマンドを認識するのはv2.1.224以降です。それより古いバージョンではclaude self-hosted-runner --helpが一般のclaude --helpを表示し、claude self-hosted-runner setupはその文字列をプロンプトにした通常のClaudeセッションを始めます。エラーにならないので、まずclaude self-hosted-runner --helpを実行して--environment-secret-fileなどのフラグが並ぶかどうかでバージョンを見分けます。導入手順と制限事項はClaude Code self-hosted-runnerとはにまとめています。
ゼロデータ保持を選んでいる組織では使えません。モデル推論をAmazon Bedrock・Google CloudのAgent Platform・Microsoft Foundry・LLMゲートウェイ経由にする構成にも対応していません。
Claude Tag・Claude Security・Code Reviewのセッションは、まだセルフホスト環境にルーティングされません。リポジトリのチェックアウト元もGitHubのみに限られます。
あなたの開発フローはどう変わるか
効き方は運用形態でかなり分かれます。複数マシンでエージェントを並行運用しているチームや、サブエージェントを大量に使うワークフローには明確な恩恵があります。特定の設定や環境を使っている場合だけ効く変更も多く、ローカルCLIで短い対話を回しているだけならほとんど変わりません。
複数マシンで長時間エージェントを走らせる運用
開発機・CI・クラウドの複数箇所でClaude Codeセッションを立ち上げている場合、これまでは別マシンのセッションへ直接声をかける手段がありませんでした。ListAgentsで相手を見つけ、SendMessageでメッセージを送る運用がそのまま組めます。bypassPermissionsで動くセッションに送るときだけ、crossSessionInboundの承認待ちを挟む設計です。
大量のサブエージェントを使うワークフロー設計
エージェントを何段にも組んで長時間走らせる設計では、v2.1.212以降ずっと200件の壁がありました。今回それが消え、セッションを再起動せずに新しいサブエージェントを起動し続けられます。瞬間的な並列度と再帰の深さには従来どおりの制約が掛かります。サブエージェントの設計パターンはサブエージェント活用ガイド、並列実行の組み方はサブエージェント並列パターンが参考です。
Team・Enterpriseでセルフホスト環境の導入を検討する管理者
自社のマシンやコンテナでクラウドセッションを動かしたい場合の選択肢が増えます。既定オフのベータのため、Owner・管理者が明示的に有効化するまでは何も変わりません。Amazon Bedrock・Google CloudのAgent Platform・Microsoft Foundry・LLMゲートウェイでモデル推論をしている組織は、セルフホスト環境の対象外です。
Runnerは同時に1ユーザーしか担当しません。最小の台数は、同時にアクティブになる想定ユーザー数と同じになります(--capacity・--drain-grace-sec・--retire-atで挙動を調整できます)。
サンドボックスでtlsTerminateと資格情報マスキングを使っている構成
network.tlsTerminateを有効にして環境変数やファイルの資格情報をマスキングしている構成に、新しい機能が加わりました。追加された対応は3つです。
decode: "jwt"とmaskClaimsによるJWT対応awsPairsとsigv4によるAWS SigV4の再署名- 環境変数の値が構造化データ(JWTやAWSの鍵ペアなど)である場合への
extract・onExtractNoMatchの対応拡張
公式ドキュメントはextractをファイル向けにしか説明していません(extractの起点はv2.1.221)。環境変数側の対応とdecode: "jwt"・maskClaims・awsPairs・sigv4は未反映です。マスキング設定はユーザー・管理設定・--settings経由でのみ有効になり、プロジェクト設定からは効きません。サンドボックスの設計思想はClaude Codeのサンドボックス設計で扱っています。設定項目の一覧とJWTデコード・AWS SigV4再署名の書き方はClaude Codeの認証情報マスキングをサンドボックスで設定する方法にまとめています。
Amazon Bedrockで複数リージョンを使い分けている運用
Bedrockのリージョン解決は、AWS_REGION・AWS_DEFAULT_REGION・AWSプロファイルのregion・us-east-1の順で決まります。新しいANTHROPIC_BEDROCK_REGION_PREFIXは、この解決結果より優先して特定のクロスリージョン推論プロファイルを使わせる変数です。公式ドキュメントは、us.以外のリージョン接頭辞や独自の推論プロファイルを使う場合は「それに合わせて調整する」とだけ書いており、この変数がその調整の具体的な手段にあたると見られます。AWS GovCloudのリージョンではus-gov.接頭辞を使います(公式ドキュメントに明記)。
zip配布のプラグインを扱うチーム
プラグインのソース種別にarchiveが加わりました。ソース型は相対パス("./my-plugin"形式の文字列)・github・url・git-subdir・npm・archiveの6種類です。archiveはHTTPS経由のzipアーカイブをダウンロードする方式で、gitやnpmが無いマシンでも動きます。利用にはv2.1.224以降が必要です。
urlフィールドは必須で、zipアーカイブのHTTPS URLを指定します。http://のURLや、ループバック・リンクローカル・クラウドメタデータのホストは拒否されます。リダイレクトが挟まる場合も、すべてのホップが同じ条件を満たさない限りダウンロードは拒否されます。任意のsha256フィールド(64桁の16進数、大文字小文字どちらでも可)を指定すると、ダウンロードのたびに内容と照合し、不一致ならPlugin archive integrity check failedというエラーでインストールを拒否します。アーカイブのサイズ上限は256MiBです。plugin.jsonにもマーケットプレイスのエントリにもバージョンが書かれていない場合、このsha256ダイジェストがプラグインのバージョンとして扱われます。
extraKnownMarketplacesに書いたheadersは、スキーム・ホスト・ポートが一致するアーカイブにしか送られません。リダイレクトでオリジンをまたぐとヘッダは落ちるため、認証付きの配布では配置先を同一オリジンに揃えます。逆にversionを宣言している場合は、その文字列が更新の合図になります。zipとダイジェストを差し替えてもversionを上げなければ、利用者はキャッシュされたものを使い続けます。
zipのレイアウトは、アーカイブ直下に.claude-plugin/がある形と、単一のトップレベルフォルダの中にある形のどちらでも認識されます。ただし1階層より深い場所までは探索しません。
従来からある3種類(github・url・git-subdir)はgitベースで、refとshaの両方を固定に使え、両方指定した場合はshaが有効になります。
古いバージョンでは挙動が異なります。v2.1.120からv2.1.223では、archiveソースを使うプラグインのインストールが「This plugin uses a source type your Claude Code version does not support. Update Claude Code and try again.」というエラーで失敗します。それより古いバージョンでは、archiveエントリを含むマーケットプレイス自体の読み込みが失敗します。既存のzip対応(--plugin-dir・--plugin-url)は、セッション限定のフラグです。プラグイン配布の全体像はClaude Codeプラグイン完全ガイドで参照できます。
Remote Controlを常用している運用
改善が2件、変更が1件、修正が4件集まりました。
コンパクション中に接続が止まって見える問題が直り、進捗と圧縮後の境界が接続中のwebやモバイルのクライアントにも見えるようになりました。/clearのリセットも接続先に伝わります。接続失敗の表示も、8秒で消えるトーストから、詳細と再接続の導線を持つ持続的な表示に変わりました。
コンパクションや/resumeで新しいセッションが作り直されたとき、古いサーバーセッションを死んだまま一覧に残さず、アーカイブする挙動に変わりました。
修正は4件です。自動起動のコールドスタートで、ログイントークンが古いままのときに断続的に「Remote credentials fetch failed」となっていた不具合が直りました。/clear後に「(no content)」と空表示になっていた不具合も解消しています。サーバーセッションが期限切れになったあとに作り直されたRemote Controlセッションが、それまでのローカルの会話履歴を新しいセッションへアップロードしてしまう不具合も修正されました。残る1件は、ユーザーがRemote Controlをオフにしたあとのセッション再開で気づかないうちに再接続してしまう問題への対応です。次のVS Code拡張の節でまとめて扱います。
VS Code拡張でRemote Controlを使う運用
拡張機能に固有の修正が2件入りました。接続が失敗したのにRemote Controlが接続済みと表示される問題と、remoteControlAtStartupを明示的に有効にしていても起動時に反映されない問題です。あわせて、--resume・SDKホスト・VS Code拡張のいずれでも、ユーザーがRemote Controlをオフにしたあとのセッション再開で気づかないうちに再接続してしまう問題も修正されました。
フィードバック送信で会話記録(transcript)を共有する運用
フィードバック調査でセッションの会話記録(transcript)を共有する機能に、2つの変更が入りました。長いセッションで共有そのものが失敗する場合、これまでは失敗しても成功表示になっていましたが、今回からエラー表示に変わります。もう1つは共有される中身の拡大です。同意のうえで、直近リクエストのモデル設定(CLAUDE.mdの指示を含むシステムプロンプト・ツール定義・モデルパラメーター)も一緒にアップロードされます。秘密情報は従来どおり伏せ字にされ、共有データが大きすぎる場合はこれらのフィールドから先に落とされます。
ローカルCLIで短い対話が中心のとき
体感の変化は小さめです。効くとすれば、200文字を超える長いプロジェクトパスで、セッション一覧やリネーム・フォーク・削除・/resumeが別プロジェクトのものと混ざっていた問題の解消です。共有された短縮プレフィックスの下で起きていた不具合で、今回で直っています。
利用形態別の影響早見表
| 利用形態 | 影響度 | 効く理由 |
|---|---|---|
| 複数マシンでエージェントセッションを並行運用 | 影響度明確な恩恵あり | 効く理由ListAgentsで相手を見つけSendMessageで直接メッセージを送れる |
| サブエージェントを大量・長時間使うワークフロー | 影響度明確な恩恵あり | 効く理由総発行数200件の上限が消え、再起動なしに起動し続けられる |
| Team・Enterpriseでセルフホスト環境の導入を検討 | 影響度条件次第 | 効く理由既定オフのベータで、Owner・管理者が有効化するまで何も変わらない |
| サンドボックスでtlsTerminate・資格情報マスキングを使用 | 影響度条件次第 | 効く理由JWTデコードとAWSペアの再署名が加わるが、該当設定を書いている場合のみ効く |
| Amazon Bedrockで複数リージョンを使い分け | 影響度条件次第 | 効く理由ANTHROPIC_BEDROCK_REGION_PREFIXを明示指定した場合だけリージョン解決が変わる |
| zip配布のプラグインを使う・配布する | 影響度条件次第 | 効く理由archiveソースを使う場合だけ関係し、既存のgithub・url・npmソースは変わらない |
| Remote Controlを常用 | 影響度明確な恩恵あり | 効く理由接続失敗の表示・コンパクション中の可視性・空表示のバグがまとめて改善する |
| VS Code拡張でRemote Controlを使用 | 影響度条件次第 | 効く理由拡張固有の表示不具合2件が直るが、影響は拡張ユーザーに限られる |
| フィードバックで会話記録を共有 | 影響度条件次第 | 効く理由共有失敗がエラー表示になり、同意ありでモデル設定の共有範囲も広がる |
| ローカルCLIで短い対話が中心 | 影響度ほぼ影響なし | 効く理由長いプロジェクトパスのセッション混線修正が主な恩恵 |
主な変更点
クロスセッション連携とサブエージェントまわりの変更は前段で扱ったため、ここでは残りをまとめます。
プロジェクトパスとセッション管理
- 200文字を超える長いプロジェクトパスが、共有された短縮プレフィックスの下で別プロジェクトのセッションディレクトリに解決されていた問題を修正。セッション一覧・リネーム・フォーク・削除・
/resumeがプロジェクトをまたがなくなった
SendMessageとサンドボックスの可視性
SendMessageが、実際にはチームメイトの受信箱への書き込みが失敗しているのに「Message sent」と表示していた問題を修正。配送失敗はエラーとして報告される- サンドボックスのファイルシステム拒否設定を末尾スラッシュ付き(例:
denyRead: "~/.aws/")で書いたとき、LinuxとmacOSで気づかないうちに素通りできてしまう問題が直りました - サンドボックス違反の詳細がBashツールの結果に一切出ていなかった問題を修正。どのファイル・ネットワークアクセスがなぜ拒否されたかが見えるようになった
MCPとプラグイン管理
- ターン途中で接続するMCPツールが、ツール検索の対象として保留されるのに、その名前がモデルに知らされていなかった問題を修正
- 同じプラグインを複数プロジェクトにインストールしても、インストール記録が気づかないうちに壊れなくなりました
ペーストまわりの修正
- 使えなくなったペーストを取り除くとコマンドの文字列が変わってしまう操作に、取り消し・確認のステップを追加
- 呼び出した・復元したペースト内容が、期限切れやプレースホルダー番号の衝突によって別のデータを添付したり文字列をエラーを出さずに失ったりする問題を修正
- 入力欄に受け入れた呼び出しペーストのプレースホルダー番号を振り直すよう変更
そのほかのUXと管理設定
- 全画面表示を改善。コンパクションを繰り返しても、直近の区間だけでなくコンパクション前の履歴全体がスクロールバックに残るようになった
- Wayland環境でコピーオンセレクトがクリップボードに届かないことがある問題を修正。2つの書き込みが競合しないようにした
- 管理設定を変更していなくても、再ログインや組織切り替えのたびに承認プロンプトが再表示されなくなりました
- Bashツールの説明文を変更。コマンド出力はモデルには表示されるが、ユーザーには確実に表示されるとは限らないと常に明記するようにした
更新はclaude updateで取得できます。
claude update
claude --versionSendMessageは、サブエージェント再開ツールから別マシン間の連絡手段まで射程を広げた
SendMessageと200件上限の変遷を並べると、向きが逆の2つの変化が見えます。どちらも同一セッションの内側で完結する仕組みとして始まりました。SendMessageは射程を別マシンへ広げ、200件上限は総発行数の縛りだけが外されています。向きは逆ですが、どちらも1セッションに閉じない運用を前提に置き直した変更です。
| バージョン | 変更 |
|---|---|
| v2.1.77 | 変更Agentツールからresumeパラメーターを廃止し、一時停止したエージェントの再開はSendMessage({to: agentId})で行う方式に変更。SendMessageはバックグラウンドで停止中のエージェントを自動的に再開するようになり、エラーを返さなくなった |
| v2.1.166 | 変更クロスセッションメッセージングを強化。他のClaudeセッションから中継されたメッセージが、ユーザー権限を持たないよう変更 |
| v2.1.222 | 変更auto modeの安全性を改善。SendMessageで他のエージェントセッションへ送るメッセージが、配送前に権限分類器の評価を受けるよう変更 |
| v2.1.224 | 変更射程を同一マシン内から任意のマシン間へ拡大。発見用のListAgentsと、bypassPermissionsセッション向けの承認待ちcrossSessionInboundを追加 |
| バージョン | 変更 |
|---|---|
| v2.1.212 | 変更セッションあたりのサブエージェント総発行数に上限を追加(既定200件、CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSIONで上書き可) |
| v2.1.217 | 変更同時実行数の上限を追加(既定20件、CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTSで変更可) |
| v2.1.219 | 変更孫エージェントを持てる深さの既定を3層に設定(CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTHで変更可) |
| v2.1.224 | 変更総発行数200件の上限を撤廃。同時実行・深さの上限は変更なし |
SendMessageは当初、同一セッション内で一時停止したサブエージェントを再開するための、いわば内線電話でした。v2.1.224でその射程はネットワーク上の別マシンにまで広がっています。1セッションに閉じない運用を前提にした変更が、今回はじめて重なりました。
200件の上限も、性格は似ています。同時実行20・深さ3層という個別の安全弁を残したまま、総発行数だけを縛る仕組みが外されました。同時実行と深さの制限は、暴走したサブエージェントが際限なく枝分かれすることへの歯止めとして残ります(再開経路には例外があります)。
まとめ
Claude Code v2.1.224は31項目のリリースです(Added 7件、Fixed 15件、Improved 3件、Changed 5件、Removed 1件)。軸は2つ、クロスセッションのSendMessageとサブエージェント200件上限の撤廃で、どちらも1セッションに閉じない長時間・多エージェント運用を後押しします。TeamとEnterpriseにはセルフホスト環境というベータの選択肢も加わりました。
複数マシンでエージェントを並行運用しているチームと、サブエージェントを大量に使うワークフローには明確な恩恵があります。サンドボックスの資格情報のマスキング拡張・archiveのプラグインソース・ANTHROPIC_BEDROCK_REGION_PREFIXは、該当する構成を使っている場合だけ効く変更です。公式ドキュメントに未反映の設定名は7つあります。crossSessionInbound・dialogExpiry・decode: "jwt"・maskClaims・awsPairs・sigv4・ANTHROPIC_BEDROCK_REGION_PREFIXです。Remote Controlを常用している場合は、接続の可視性まわりの改善がまとまって入りました。ローカルCLIで短い対話中心なら、体感の変化は小さめです。
CVEやGitHub Security Advisory(GHSA)の公開は、2026年8月7日時点で確認できていません。資格情報マスキングやサンドボックスに関わる項目はありますが、緊急告知として扱われている材料は見当たらず、通常の更新サイクルで取り込める内容です。
関連ガイド
Claude Code全体の中でのv2.1.224の位置づけはClaude Code(クロードコード)とはから辿れます。直前のv2.1.223は権限モードの抜け穴を塞ぐ回で、境界を厳格にする流れの延長に、今回のクロスセッション連携とセルフホスト環境が乗っています。