# セルフホストランナーとセッション間メッセージが来た！Claude Code が v2.1.224 に

おつかれさま、しぃちゃんだよ！今日も Claude Code のアップデート情報を持ってきたよ！

## なにが発表されたの？

GitHub の Claude Code Release によると、v2.1.224 がリリースされたよ。目玉は自分のマシンをセッションの実行環境にできる「セルフホストランナー」と、複数の Claude Code セッション同士がメッセージをやりとりできる仕組み。ほかにも、サンドボックスの認証情報マスキングやプラグインの配布方法の追加、たくさんの修正・改善がまとまってるの。

## 今までどうだったの？

これまで Claude Code の web・モバイル・デスクトップセッションは、Anthropic 側が用意した実行環境の上でしか動かせなかったんだよね。それに、複数のセッションを同時に走らせていても、セッション同士が直接やりとりする手段はなかったの。サブエージェントも 1 セッションにつき 200 体までという上限があって、長時間動かし続けるセッションだと途中で新しいエージェントを作れなくなることがあったんだ。細かいところでは、サンドボックスの拒否設定やペースト機能、Remote Control の接続表示などにもいくつかバグが残ってたの。

## これで何が変わるの？

まず今回の目玉、新機能から紹介するね。

- `claude self-hosted-runner` が追加。自分のマシンやコンテナを Claude Code の web・モバイル・デスクトップセッションの実行環境にできるようになったよ（Team / Enterprise プラン向け）
- プラグインの配布元に `archive` が追加。git や npm を使わずに、HTTPS 上の zip ファイルからプラグインをインストールできるの。SHA-256 でのピン留めもオプションで指定できるよ
- セッション間の `SendMessage` が追加。Claude Code のセッション同士が、どのマシン上にあってもメッセージを送り合えるようになったの。`ListAgents` で相手を見つけられるよ（macOS・Linux 対応）
- `crossSessionInbound` と `dialogExpiry` の設定が追加。bypass 権限で動いているセッションに届いたセッション間メッセージは承認待ちで保留され、それ以外のセッションへのメッセージは自動で届くようになるよ
- サンドボックスの認証情報マスキングが強化。構造化された環境変数向けの `extract` / `onExtractNoMatch`、JWT 対応の `decode: "jwt"` と `maskClaims`、AWS SigV4 の再署名向け `awsPairs` / `sigv4` が追加されたの（`network.tlsTerminate` が必要で、user・managed・`--settings` の設定からのみ有効）
- Bedrock 向けに `ANTHROPIC_BEDROCK_REGION_PREFIX` 環境変数が追加。`AWS_REGION` から自動で決まるリージョンより、指定したクロスリージョン推論プロファイルを優先できるようになったよ

サブエージェントまわりも変わったよ。1 セッションあたり 200 体までだったサブエージェントの生成上限が撤廃されたの（同時実行数や深さの制限は今まで通りあるよ）。長時間動かすセッションで、エージェントを作れなくなる心配が減るね。

## 深く潜ってみよう

バグ修正もたくさん入ってるから、気になるものをまとめて紹介するね。

セキュリティ・サンドボックス関連:

- 末尾にスラッシュを付けた `denyRead` などのサンドボックスの拒否設定（例: `denyRead: "~/.aws/"`）が、Linux・macOS で密かにすり抜けられてしまう問題を修正
- サンドボックスの違反内容が Bash ツールの結果に表示されず、どのファイル・ネットワークアクセスがなぜ拒否されたか分からなかった問題を修正

セッション・Remote Control 関連:

- 200 文字を超える長いプロジェクトパスが、共有のサニタイズ済みプレフィックスの下で別プロジェクトのセッションディレクトリを指してしまう問題を修正。セッション一覧・リネーム・フォーク・削除・`/resume` がプロジェクトをまたがなくなったよ
- `SendMessage` が、相手の受信箱への書き込みが実際には失敗していても「Message sent」と表示してしまう問題を修正。失敗時はちゃんとエラーとして表示されるよ
- Remote Control の自動起動が、ログイントークンが古いコールドスタート時に「Remote credentials fetch failed」で失敗することがあった問題を修正
- `/clear` などの出力がないコマンドのあとに、Remote Control や SDK クライアントで「(no content)」という空メッセージが出ていた問題を修正
- サーバー側のセッションが期限切れになったあとに再作成された Remote Control セッションが、それまでのローカルの会話履歴を新しいセッションにアップロードしてしまっていた問題を修正
- フルスクリーンモードで、圧縮を繰り返すと直近の区間しかスクロールバックに残らなかったのを改善。圧縮前の履歴を全部さかのぼれるようになったよ
- Remote Control に接続している web・モバイルクライアントが、圧縮中に無言で止まって見えていたのを改善。圧縮の進捗や圧縮後の区切りが分かるようになって、`/clear` のリセットも接続先に伝わるようになったよ
- Remote Control の接続失敗が、8 秒で消えるトーストだけじゃなく、詳細と再接続ショートカット付きの表示でずっと確認できるように改善

そのほかの細かい修正:

- プラグインのインストール記録が、同じプラグインを複数プロジェクトにインストールすると壊れてしまう問題を修正
- 期限切れやプレースホルダー番号の衝突で、呼び戻したペースト内容が違うデータに紐づいたり、テキストが消えてしまったりする問題を修正
- Wayland でのコピー操作が、2 つのクリップボード書き込みの競合でうまく反映されないことがあった問題を修正
- フィードバックのアンケートで、長いセッションのトランスクリプト共有が失敗しても成功したように見えてしまう問題を修正

「変更」としては、組織設定の再確認まわりも調整されたよ。管理設定が変わっていなければ、再ログインや組織切り替えのたびに承認プロンプトが出ないようになったの。フィードバックアンケートのトランスクリプト共有は、同意した場合に限り、直近のリクエストのシステムプロンプト（`CLAUDE.md` の内容を含む）・ツール定義・モデルパラメータもアップロードされるようになったよ（機密情報はこれまで通りマスクされて、共有データが大きすぎるときはこれらの項目から先に削られるの）。

## まとめ

- 自分のマシンをセッションの実行環境にできる `claude self-hosted-runner` が追加（Team / Enterprise 向け）
- Claude Code のセッション同士でメッセージをやりとりできる `SendMessage` と `ListAgents` が追加
- サンドボックスの認証情報マスキングが強化され、JWT や AWS SigV4 にも対応
- 1 セッション 200 体までだったサブエージェントの生成上限が撤廃
- サンドボックスの抜け道や Remote Control の表示・接続まわりなど、多数のバグ修正・改善も収録

複数マシンでセッションを並行して動かしてる人、サンドボックスやプラグイン配布をカスタマイズしてる人には見逃せないアップデートだよ！
