Claude Code v2.1.222 — worktree分離をセッション本体まで拡張
Claude Code v2.1.222は21項目をまとめたアップデートです。worktree分離がセッション本体にも及び、SendMessageの権限評価やRemote Control自動起動の制御も変わりました。
Claude Code v2.1.222は21項目のリリースです。新機能追加(Added)はゼロです。内訳はFixedが16、Improvedが3、Changedが1、Removedが1。中心はworktree分離の強化で、gitコマンドの抜け穴を塞ぐ保護がこれまでサブエージェントに限られていましたが、今回セッション本体にも及ぶようになりました。適用範囲もファイル編集(file edits)とBashの両方、全セッション種別に及ぶと明記されています。
番号上ひとつ前のv2.1.221は39項目でAddedを4件含む更新でした。対して今回のv2.1.222は修正・改善・変更・削除だけで構成されています。この記事では、worktree分離がv2.1.49からどう強化されてきたかを版番号付きで追い、利用形態ごとの影響早見表で自分に関係する変更を見分けられるようにします。
このリリースで何ができるようになるか
変化は4つです。worktree分離の適用範囲拡大、auto modeでのSendMessage評価の厳格化、Remote Control自動起動のガバナンス変更、そしてultraplan機能の削除です。芯は1つ目にあります。worktree分離とは、サブエージェントやセッションを一時的なgit worktree(作業ツリー)の中に隔離し、メインのチェックアウトを直接変更させない仕組みのことです。
1つ目は、その隔離の穴が塞がれたことです。worktree分離下のセッションと、そのサブエージェントの両方が、メインチェックアウトに対して破壊的なgitコマンドを実行できてしまう問題が修正されました。分離が適用される範囲は、file editsとBashの両方、全セッション種別に及びます。git経由の抜け穴を塞ぐこれまでの修正はサブエージェントが対象でしたが、今回はセッション本体が実行するコマンドも対象に入りました。
2つ目は、auto modeでのエージェント間メッセージの扱いです。SendMessageで他のエージェントセッションへ送るメッセージが、dispatch(配送)前に権限分類器の評価を受けるようになりました。agent teamsやマルチエージェントの構成を組んでいる運用では、エージェント間のメッセージが素通りしていた経路に、あらためて審査が入ります。
3つ目は、Remote Controlの自動起動をオンにできる入口が絞られたことです。リポジトリ側の設定(.claude/settings.jsonや.claude/settings.local.json)では、自動起動をオンにできなくなりました。オフにする権限は引き続き残ります。有効化はユーザースコープの/configから行う形に一本化されました。
4つ目は、ultraplan機能の削除です。使えたのは/ultraplanコマンド、プロンプトにultraplanというキーワードを含める起動、plan modeの「Refine with Ultraplan」の3経路です。research preview(研究プレビュー)としての提供で、今回削除されました。
あなたの開発フローはどう変わるか
効き方は使い方次第です。worktree分離を使うエージェント運用にはっきり恩恵があり、agent teamsでマルチエージェントを組む運用には権限まわりの厳格化が入ります。Remote Controlの自動起動やultraplanのような特定機能を使っていた運用には、設定の見直しが要ります。
worktree分離でサブエージェントやセッションを回す運用
worktree分離を使ってサブエージェントやバックグラウンドセッションを回している運用では、隔離の抜け穴がまた一つ塞がれた形です。これまではサブエージェントが親のチェックアウトに対してgitコマンドを実行してしまう経路が繰り返し見つかり、そのたびに修正が入っていました。今回はセッション本体も対象に加わりました。隔離の抜け穴を突かれてメインリポジトリを壊すリスクは、これまでよりさらに小さくなります。worktreeによる隔離を使ったマルチエージェント運用を組んでいるなら、この版で境界がどこまで広がったかを把握しておくと安心です。
agent teamsでマルチエージェントを組む運用
権限面の変更が入ったのは、agent teamsで複数のエージェントを同時に動かし、SendMessageでエージェント間のやり取りをさせている運用です。エージェントセッションへ送るメッセージは、dispatch前に権限分類器の評価を通るようになりました。エージェント間のメッセージが従来より厳しく審査されるため、想定していないタイミングで確認プロンプトが挟まる可能性があります。複数セッションでエージェントを回す運用を組んでいるなら、一度確認しておきたい変更です。メッセージの往来で挙動が変わっていないかがポイントになります。あわせて、SendMessageが長い要約を拒否していた問題も修正され、文字数の上限に達したときは送信を失敗させる代わりに要約が切り詰められるようになりました。
Remote Controlの自動起動をリポジトリ設定で管理していた運用
リポジトリ側の設定(.claude/settings.json・.claude/settings.local.json)では、Remote Controlの自動起動をオンにできなくなりました。オンにする経路だけが変わりました。有効化はユーザースコープの/configからのみになったため、これまでリポジトリ設定でオンにしていた運用は、設定の組み直しが必要です。オフにする権限はリポジトリ設定に引き続き残るため、無効化だけを目的にした設定はそのまま動きます。チームで自動起動の設定を統一していた場合は、各メンバーが/configで設定し直すか、未指定のまま組織の管理者既定に委ねる形になります。設定を未指定に戻すと、組織の管理者既定があればそれに従い、なければClaude Code側の既定が適用されます。
ultraplanを使っていた運用
起動経路自体がなくなったのは、/ultraplanコマンド、ultraplanというキーワードをプロンプトに含める起動、plan modeの「Refine with Ultraplan」の3経路です。/ultrareview(/code-review ultraのエイリアス)やultracode(effortレベルの指定語)は別の機能で、今回の削除の対象ではありません。ultraplanを日常的に使っていた場合は、ローカルセッションのplan modeか、Claude Code on the webの通常の起動経路に切り替える必要があります。
カスタムゲートウェイやセルフホストで接続する運用
ANTHROPIC_BASE_URLでカスタムゲートウェイ経由の接続をしている運用では、問題が一つ直りました。サーバー側のkeep-aliveのpingが届いているにもかかわらず、stream idle timeoutが発生していた問題です。あわせて、HTTPSプロキシの背後で起動時の接続確認がハングしたあと失敗する問題も修正され、APIリクエストと同じプロキシ対応のトランスポートを使うようになっています。
TeamやEnterpriseで請求・利用状況を見る運用
TeamやEnterpriseのプランで/usage-creditsや/usageを使っている運用にも修正が入りました。以前のリクエストが却下されたメンバーが新しい使用クレジットリクエストを送れなくなる問題と、/usageがMCPサーバーの使用量を過大に按分する問題の両方が解消されています。
ローカルで短い対話を中心に使う運用
単一セッションでの短い対話が中心で、worktree分離もagent teamsも使っていない運用では、体感できる変化は小さめです。今回の変更の主眼はworktree分離・マルチエージェント・企業設定に寄っています。
利用形態別の影響早見表
| 利用形態 | 影響度 | 効く理由 |
|---|---|---|
| worktree分離でサブエージェントやセッションを回す | 影響度明確な恩恵あり | 効く理由セッション本体が実行するgitコマンドまで防御範囲が広がる |
agent teamsでSendMessageを使うマルチエージェント運用 | 影響度明確な恩恵あり | 効く理由分類器評価が入る一方、長い要約の送信失敗は解消され、上限超過時は切り詰めて送信される |
| Remote Controlの自動起動をリポジトリ設定で管理 | 影響度条件次第 | 効く理由オフにする権限は残るため、影響が出るのは有効化目的の設定だけ |
| ultraplanを使っていた | 影響度条件次第 | 効く理由似た名前の/ultrareviewやultracodeは対象外で、消えるのはultraplanの3経路のみ |
カスタムANTHROPIC_BASE_URLゲートウェイ経由で接続 | 影響度条件次第 | 効く理由keep-alive受信中のstream idle timeoutを修正し、プロキシ配下の接続確認ハングも同時に解消 |
TeamやEnterpriseで/usage-credits・/usageを見る | 影響度明確な恩恵あり | 効く理由按分の対象は、実際にツール結果を消費したリクエストだけに絞られた |
| ローカルで短い対話中心、単一セッションで完結 | 影響度ほぼ影響なし | 効く理由ファイルウォッチャーの安定性修正は全ユーザーに効き、--ax-screen-readerモードの修正はその利用時に効く |
主な変更点
worktree分離とサブエージェントの実行制御を中心に、auto modeやRemote Controlのガバナンス、接続まわり、請求、開発フロー、安定性まで幅広く手が入りました。
worktree分離とサブエージェントの実行制御
- worktree分離下のセッションとそのサブエージェントが、メインチェックアウトに対して破壊的なgitコマンドを実行できてしまう問題を修正。分離の適用範囲はfile editsとBashの両方、全セッション種別に拡張
- バックグラウンドのエージェントタスク(要約・圧縮・リネーム)で、PreToolUseのauto-allowフックがツール制限を回避してしまう問題を修正
- 組織側で
model: opusのように制限されたサブエージェント・チームメイトのモデルエイリアスが、親モデルまで一段落ちてしまう問題を修正。同じファミリー内で組織が許可している最新モデルへ降格するようになった - サブエージェントのトランスクリプト表示で、スピナーのeffortラベルがセッション側の設定を表示していた問題を修正。サブエージェント自身の
effort:設定を表示するようになった
auto modeとRemote Controlのガバナンス
- auto modeの安全性を改善。
SendMessageで他のエージェントセッションへ送るメッセージは、dispatch前に権限分類器の評価を受けるようになった disable-model-invocationが付いたスキルをClaudeが呼び出そうとしたときの拒否メッセージを改善。スキルの手順を代替で再現するのではなく、そのスキルの実行をユーザーに頼むよう案内するようになった/diffのビュー、Remote Controlのワークスペース差分、Claude Code on the webセッションでのファイル編集差分が、ワークスペース側のdiffドライバーやtextconvの設定を無視し、生のgit blobの内容を使うよう改善- Remote Controlの自動起動を変更。リポジトリ側の設定(
.claude/settings.json・.claude/settings.local.json)ではオンにできなくなった(オフにする権限は引き続き残る)。有効化は/configからユーザースコープで行う
接続とネットワーク
- HTTPSプロキシの背後で起動時の接続確認がハングしたあと失敗する問題を修正。APIリクエストと同じプロキシ対応のトランスポートを使うようになり、失敗時は分かりやすいメッセージとともにタイムアウトする
- 実際には完了していたレスポンスに対して「Connection closed mid-response」エラーが表示される問題を修正
- カスタムの
ANTHROPIC_BASE_URLゲートウェイで、サーバー側のkeep-aliveのpingが届いているにもかかわらずstream idle timeoutが発生する問題を修正 - claude.aiコネクタで、セッショントークンが無効なだけなのに認証が必要と誤表示される問題を修正。今後は
/loginのヒントを表示する
利用状況・請求
- TeamとEnterpriseの
/usage-creditsで、以前のリクエストが却下されたメンバーに「すでに使用クレジットリクエストを送信済みです」と表示され、新しいリクエストを送れなくなる問題を修正 /usageがMCPサーバーの使用量を過大に按分する問題を修正。サーバーの割合は、実際にそのツール結果を消費したリクエストだけを反映するようになった(呼び出し後の全ターンを含めていた従来の挙動を修正)
開発フローとツール
- ブランチをpushしたあとに作成されたプルリクエストへセッションがリンクしない問題を修正。GitHub REST API経由の作成も対象
- MCPサーバーが削除されるなどしてローカルで使えなくなったツールについて、エラーが表示されなかった問題を修正
SendMessageが長い要約を拒否していた問題を修正。文字数制限で送信が失敗する代わりに、要約を切り詰めて送信する
安定性・アクセシビリティ
- ファイルウォッチャーがファイルシステムのエラーに当たったとき、または終了処理中に、まれにクラッシュする問題を修正
--ax-screen-readerモードで、backspaceを押すたびに入力行全体を読み上げ直していた問題を修正。行末での削除では、削除した文字だけを読み上げるようになったCLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTが設定されているとき、ホスト側のモデル選択キーが、古いままのmanaged-settings.jsonより優先されなかった問題を修正
削除
- ultraplan機能が削除された
全体では21項目の更新です。更新はclaude updateで取得できます。
claude update
claude --versionworktree分離の防御はサブエージェント限定からセッション本体へ広がった
worktree分離の抜け穴を塞ぐ修正は、v2.1.222が初めてではありません。isolation: "worktree"が導入されたv2.1.49以降、同種の修正が繰り返し入ってきました。
| バージョン | 対象 | 内容 |
|---|---|---|
| v2.1.49 | 対象セッション + サブエージェント | 内容--worktree(-w)フラグでセッション自体を隔離worktreeで起動できるようにし、サブエージェントにisolation: "worktree"を追加 |
| v2.1.154 | 対象サブエージェント | 内容バックグラウンドセッション内のサブエージェントがworktree分離のガードを回避し、共有チェックアウトに書き込んでしまう問題を修正 |
| v2.1.203 | 対象サブエージェント | 内容worktree分離下のサブエージェントが、親のチェックアウトでシェルコマンドを実行してしまうことがある問題を修正 |
| v2.1.210 | 対象サブエージェント | 内容worktree分離下のサブエージェントが、メインリポジトリのチェックアウトに対してgitを変更するコマンドを実行できてしまう問題を修正 |
| v2.1.216 | 対象サブエージェント | 内容git -C・--git-dir・GIT_DIR/GIT_WORK_TREE経由で、共有チェックアウトへgitをリダイレクトできてしまう問題を修正 |
| v2.1.222 | 対象セッション本体 + サブエージェント | 内容worktree分離下のセッションとそのサブエージェントが、メインチェックアウトに対して破壊的なgitコマンドを実行できてしまう問題を修正。適用範囲をfile editsとBashの両方、全セッション種別に拡張 |
v2.1.210とv2.1.216が対象にしていたのは、あくまでサブエージェントでした。v2.1.222はworktree-isolated sessions and their subagentsという書き方で、セッション本体を対象に明記しています。この表に挙げた5件の修正のうち、対象をセッション本体まで明記したのは今回だけです。適用範囲もfile edits and Bash in every session type(ファイル編集とBash・全セッション種別)とはっきり書かれています。前の4つの修正(v2.1.154・v2.1.203・v2.1.210・v2.1.216)には、この範囲の明記がありませんでした。
サブエージェントの実行だけを塞いでも、セッション本体が直接実行するgitコマンドまでは守れなかったという抜け穴を、今回で塞いだ形です。worktree分離を前提にしたマルチエージェント構成を組むなら、gitコマンドに対する防御の境界が「サブエージェントだけ」から「セッションを含む全体」に変わったことを踏まえて設計し直す価値があります。
まとめ
Claude Code v2.1.222は、Added(機能追加)がゼロの21項目からなる修正版です。中心はworktree分離の強化で、gitコマンドに対する防御の対象がサブエージェントからセッション本体まで広がり、適用範囲はファイル編集とBashの両方、全セッション種別に及びます。auto modeではSendMessageのメッセージが権限分類器の評価を受けるようになり、Remote Controlの自動起動はリポジトリ設定では有効化できなくなりました。ultraplan機能も削除されています。
worktree分離やagent teamsでマルチエージェント運用を組んでいるなら、確認する価値のある更新です。Remote Controlの自動起動をリポジトリ設定で管理していたチーム、ultraplanを使っていた運用も、設定や起動経路の見直しが要ります。ローカルで短い対話中心に使う場合は、体感の変化は小さめです。CVEや資格情報の漏出、データ損失のような緊急性の高い項目は見当たりません。自分の使い方が早見表のどこに当たるかを見てから、更新の要否を判断できます。
関連ガイド
Claude Code全体の中でのv2.1.222の位置づけはClaude Code完全ガイドで確認できます。worktree分離の仕組みそのものはworktreeによる隔離の完全ガイドで掘り下げています。直前のv2.1.221はバックグラウンドセッションのPR作成が条件付きに変わった回で、その前のv2.1.220は不具合修正のみ、v2.1.219ではOpus 5の既定化がテーマです。
関連する記事
Claude Code をもっと見る →Claude Code(クロードコード)とは — CLI起点のエージェント型開発ツール
Claude Code v2.1.216 — サンドボックス分離を外す設定を追加し、無人と並列運用の不具合を修正
Claude Code v2.1.178 — 権限ルールがツールの入力パラメーターで条件分岐できるようになった
Claude Code v2.1.219 — Opus 5が既定のOpusモデルになり、高速モードにも対応
Claude Code v2.1.218 — コードレビューをバックグラウンドで実行し、自動モードの確認ダイアログを削減
Claude Code v2.1.217 — サブエージェントの同時実行に上限を設け、際限ない並列を抑制