Claude Code v2.1.223 — 組織ポリシーを迂回する権限モードの穴を塞ぐ
Claude Code v2.1.223は19項目の更新です。エージェント定義に書いたbypassPermissionsが組織の禁止ポリシーを素通りしていた問題が直り、ゲートウェイやBedrock・Vertex経由に効く変更も4件あります。
Claude Code v2.1.223は19項目の更新です。内訳はAdded 3件、Fixed 12件、Changed 4件。中心は権限まわりの4件です。なかでも重いのは、サブエージェントの定義ファイルに書いたbypassPermissionsが、組織側で禁止していたはずのバイパスを素通りしていた問題の修正です。管理設定でdisableBypassPermissionsModeを"disable"にしていても、この経路だけ効いていませんでした。
本稿では、その抜け穴が塞がれるまでの系譜、ゲートウェイやBedrock・Vertex経由の運用に一括で効く4つの変更、そして/reviewが再び/code-reviewのエイリアスに戻った往復を扱います。番号のひとつ前は同じ週のv2.1.222(21項目、Addedゼロ)で、新機能追加を含む直前のリリースはv2.1.221(39項目、Added 4件)です。
このリリースで何ができるようになるか
変化は3つです。組織のバイパス禁止ポリシーが、これまで漏れていた入口でも効くようになったこと。ゲートウェイやBedrock・Vertex経由でClaudeモデルが見えなかったり取り違えられたりしていた状態が直ったこと。そして/reviewと/code-reviewが1つのコマンドにまとまり、effort level(レビューの深さ)を毎回打たなくてよくなったことです。
組織のバイパス禁止が、エージェント定義にも効くようになった
bypassPermissionsは、ツール実行のたびに挟まる許可プロンプトを一切出さずに走らせる権限モードです。組織側はこのモードを封じられます。管理設定のpermissions.disableBypassPermissionsModeを"disable"にすると、モードの起動と--dangerously-skip-permissionsフラグの両方が止まります。
抜けていたのは、サブエージェントの定義ファイルでした。サブエージェントはfrontmatterにpermissionModeを書けます。指定できる値はdefault・acceptEdits・auto・dontAsk・bypassPermissions・plan(およびdefaultの別名のmanual)です。ここにbypassPermissionsと書いた場合、組織の禁止ポリシーが参照されないままモードが立っていました。v2.1.223でこの経路もポリシーに従います。
ゲートウェイ経由でClaudeモデルが正しく見えるようになった
自前のLLMゲートウェイを立てている場合、CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1でモデル一覧の自動取得を有効にできます。このとき、応答のdata配列のうちidがclaudeかanthropicで始まらないエントリーは捨てられます。vertex_ai/claude-*やbedrock/anthropic.claude-*のようにプロバイダー接頭辞の付くIDは、この判定に引っかかって一覧から消えていました。今回、こうしたIDのClaudeモデルも一覧に出ます。
modelOverridesの扱いも直りました。これはAnthropicのモデルIDを、プロバイダーのAPIへ送る固有文字列に対応づける設定です。キーがAnthropicのモデルIDでない場合、その値がセッションの正規モデルIDとして扱われていました。未知のキーは無視されます。
コードレビューのコマンドが1本になった
/reviewは/code-reviewのエイリアスになりました。現在の差分をレビューするほか、PR番号を渡せばそのPRを見ます(/code-review <level> <pr#>)。深いクラウドレビューは/code-review ultraです。あわせて、effort levelを付けずに/code-reviewと実行すると、直前に使ったeffort levelを引き継ぐようになりました。変えたいときだけ/code-review highのようにeffort levelを添えます。
あなたの開発フローはどう変わるか
効き方は運用形態で大きく分かれます。組織のポリシーを配っている管理者と、Anthropic以外の経路でモデルを呼んでいる利用者にはっきり効き、ローカルCLIで短い対話を回しているだけならほとんど変わりません。
管理設定で権限モードを縛っている管理者
確認する価値があるのは、サブエージェントの定義ファイルです。disableBypassPermissionsModeを配っていても、v2.1.222以前は抜け道が残っていました。.claude/agents/配下の定義や、リポジトリに同梱されたエージェント定義にpermissionMode: bypassPermissionsが書かれていれば、そのモードで走っていたためです。
プラグイン由来のサブエージェントは対象外です。セキュリティ上の理由から、hooks・mcpServers・permissionModeのいずれも受け付けません。監査の範囲は自前とリポジトリ同梱の定義に絞れます。権限設計そのものの組み方はClaude Codeセキュリティ・権限ガイドにまとめてあります。
管理設定にはもう1つ変更があります。サーバー配信の管理設定が、マシン側のmanaged-settings.jsonやMDMプロファイルのenvブロックを無効化しなくなりました。本来この設定は、優先順位の最も高いソース1つだけが採用され、残りは無視される仕組みです。envはその例外になり、キー単位でマージされます。サーバー配信とMDMを併用していて、端末ごとの環境変数だけが消えていた場合はこの修正が効きます。設定ファイルの階層と優先順位はClaude Code設定ガイドで確認できます。
自前ゲートウェイやBedrock・Vertex経由で使っている
この経路の利用者には、4つの変更がまとめて効きます。モデル一覧の取りこぼし(vertex_ai/claude-*やbedrock/anthropic.claude-*)、modelOverridesの未知キー、未知のモデルIDに対するコンテキストウィンドウの扱い、そして1M抑制の対象拡大です。前の2つはモデルが選べない・取り違えられるという症状で、後の2つはセッションが想定より膨らむかどうかに関わります。
1Mの適用範囲は、経路ごとに分かれます。ゲートウェイ経由では1M対応を確認できないため、コンテキストは200Kとして扱われます。全体を使いたい場合は、モデルピッカーで「Sonnet 5(1M context)」を選ぶとsonnet[1m]にマップされます。Sonnet 5の1Mが200Kに落ちるのは、このゲートウェイ経由とCLAUDE_CODE_DISABLE_1M_CONTEXT=1の2つです。
一方、Amazon Bedrock、Google CloudのAgent Platform、Microsoft FoundryではOpus 4.6以降とSonnet 4.6が200Kのコンテキストウィンドウになります。これらの環境では、モデルIDに[1m]が付いていなければ200Kで走ります。Sonnet 5だけは常時1Mで、サフィックスは要りません。
modelOverridesまわりでもう1つ踏みやすいのが、プロバイダー接頭辞の扱いです。us.anthropic.のような接頭辞は剥がされません。availableModelsで特定のモデルだけを許可する場合は、モデルピッカーに出るプロバイダー形式のIDをそのまま並べるか、modelOverridesで対応づける形になります。許可リストの判定はAnthropicのモデルIDに対して行われ、上書き後の値には掛かりません。
未知のモデルIDについては、自動圧縮が想定コンテキストウィンドウの内側にセッションを保つようになりました。これまではそこを越えて伸びていました。従来の挙動に戻すにはCLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1を設定します。この変数は環境変数リファレンスにまだ項目がなく、公開されている手がかりは変更履歴の1行だけです。ゲートウェイ固有の名前のように認識できないモデルIDに対しては、出力トークンの既定が32000になるという既存の挙動もあります。ゲートウェイまわりの変数の並びはClaude Code環境変数リファレンスが使えます。
1Mコンテキストを止めている環境
CLAUDE_CODE_DISABLE_1M_CONTEXTの意味が変わりました。従来は特定モデルを名指しする固定リスト方式でしたが、これからはネイティブに1Mウィンドウを持つClaudeモデルすべてを、自動圧縮によって200Kに抑えます。この圧縮でセッションを200Kに保てていないときは、起動時に警告が出ます。
「ネイティブに1Mウィンドウを持つ」がどのモデルを指すかは、変更履歴にも設定ドキュメントにも定義がありません。公式が別々に示しているのは、次の3つの区分です。
| 区分 | 該当モデル |
|---|---|
| 1Mコンテキストウィンドウに対応する | 該当モデルFable 5、Sonnet 5、Opus 4.6以降、Sonnet 4.6 |
| Anthropic APIでつねに1Mウィンドウで走る | 該当モデルFable 5、Sonnet 5、Opus 4.7以降 |
| プラン側で自動的に1Mへ上がる | 該当モデルMax・Team(Standard / Premium席)・EnterpriseのOpus |
「対応する」と「つねに1Mで走る」は別ものです。Sonnet 4.6の1Mは自動アップグレードの対象外で、Maxを含むどのサブスクリプションプランでも使用クレジットを消費します。抑制の対象がどの区分と重なるかは、公式が書き分けていません。対応はするが常時1Mではないモデル(Sonnet 4.6とOpus 4.6)の扱いは、いまの公開情報からは確定できません。
抑制していない状態の自動圧縮は、Anthropic API直結のSonnet 5で既定およそ967Kトークンで走ります。閾値はCLAUDE_CODE_AUTO_COMPACT_WINDOWに100000から1000000の範囲で指定できます。
効き方が変わるのは、コンプライアンス要件で1Mを止めている環境です。固定リスト方式には構造的な穴がありました。新しいモデルが増えるたびにリストへ書き足さないと漏れます。7月24日のv2.1.219ではClaude Opus 5(1Mコンテキスト)が追加され、既定のOpusになりました。
判定を「ネイティブ1Mを持つか」に寄せたことで、この取りこぼしはなくなります。なお環境変数リファレンスとモデル設定のページは、いまもSonnet 5を名指しした説明のままです。
Linuxでサンドボックスを有効にしている
サンドボックスのコマンドがLinuxで起動に失敗する条件が1つ消えました。sandbox.filesystem.denyWriteが作業ディレクトリを含んでいる場合です。LinuxとWSL2のサンドボックスはbubblewrapが担っていて、macOSのSeatbeltとは別実装です。今回の修正はbubblewrapを使う経路に対するもので、Seatbelt側には関係しません。
denyWriteのパス指定は取り違えやすい部分です。/で始まれば絶対パス、~/はホーム相対、./または接頭辞なしはプロジェクトルート相対(ユーザー設定では~/.claude相対)として解決されます。ReadとEditの権限ルールが使う//path・/pathの記法とは違うため、広めの拒否ルールを書いたつもりが作業ディレクトリまで覆ってしまう事故が起きます。分離の設計思想はClaude Codeのサンドボックス設計で掘り下げています。
クラウドセッションとローカルを行き来している
クラウドセッションに/teleportのヒントが出るようになりました。ローカルで作業を続けるためのコマンドを、その場で示します。地味に効きます。--teleportと--cloudはclaude --helpの出力に現れないフラグで、知らなければ辿り着けない状態でした。それが、使う場面で向こうから差し出される形になりました。
claude --teleport <session-id>ターミナル側はセッションの複製を持ちます。そこでの作業はローカルに留まり、claude.aiやモバイルアプリのクラウドセッションには反映されません。--resumeとは別物です。あちらはこのマシンのローカル履歴を開くだけで、クラウドセッションは一覧しません。
使うにはclaude.aiのサブスクリプション認証が要ります。Amazon Bedrock、Google CloudのAgent Platform、Microsoft Foundryでは、クラウドセッション自体が使えない旨のメッセージが出て止まります。
GitHub org単位でプラグイン配布を絞っている
管理設定のstrictKnownMarketplacesとblockedMarketplacesに、オーナー単位のワイルドカード("owner/*")を書けるようになりました。GitHub org配下のマーケットプレイスを、まとめて許可することも遮断することもできます。
これまでこの2つのキーは、ほとんどのソース種別で完全一致しか受け付けませんでした。末尾のスラッシュ、.gitの有無、ssh://とhttps://の違いはすべて別の値として扱われるため、リポジトリを1つずつ列挙する運用になりがちでした。逃げ道は正規表現で書けるhostPatternとpathPatternで、URLの形が複数ありうる社内マーケットプレイスにはこちらが向きます。
オーナー単位のワイルドカードは、GitHub orgでまとめたい場合の3つ目の書き方にあたります。マーケットプレイスと配布の全体像はClaude Codeプラグイン完全ガイドが参照できます。
ローカルCLIで短い対話を回している
体感の変化は小さめです。効くとすればセッション再開まわりの修正でしょう。途中で/cdして作業ディレクトリを移したあとの再開が空になる問題と、履歴に壊れた診断アタッチメントが残っていると毎ターン失敗する問題が直っています。git pushの変則的な出力を解析するときに、まれに固まる問題も解消されました。
利用形態別の影響早見表
| 利用形態 | 効き方 | 効く理由 |
|---|---|---|
| 管理設定で権限モードを縛るIT管理者 | 効き方明確な恩恵あり | 効く理由エージェント定義に書いたbypassPermissionsの素通りが止まり、envブロックもキー単位でマージされる |
| 自前ゲートウェイ・Bedrock・Vertex経由 | 効き方明確な恩恵あり | 効く理由モデル一覧の取りこぼしとmodelOverridesの取り違えが同時に直る |
CLAUDE_CODE_DISABLE_1M_CONTEXTで1Mを止めている | 効き方条件次第 | 効く理由抑制対象がネイティブ1Mを持つ全モデルに広がるため、これまで漏れていたモデルだけ挙動が変わる |
| Linuxでサンドボックスを使う | 効き方条件次第 | 効く理由denyWriteが作業ディレクトリを覆っている設定に限り、起動の失敗が解消する |
| クラウドセッションとローカルを併用 | 効き方条件次第 | 効く理由ヒントの追加は発見性の改善で、--teleportを知っていれば従来と同じ |
| GitHub org配下にマーケットプレイスを複数持つ | 効き方条件次第 | 効く理由1リポジトリだけを許可・遮断している運用では書き方が変わらない |
| ワークフローやフォークしたスキルでサブエージェントを回す | 効き方条件次第 | 効く理由サブエージェントのモデルが制限されて親モデルに落ちるとき、これまで気づけなかった切り替えに警告が出る |
| ローカルCLIで短い対話が中心 | 効き方ほぼ影響なし | 効く理由セッションの再開とgit pushの出力解析が安定する程度 |
主な変更点
19項目の内訳はAdded 3件、Fixed 12件、Changed 4件です。権限とサンドボックスに4件、管理設定とプラグイン配布に2件、ゲートウェイとコンテキスト上限に4件が集まりました。
権限チェックとサンドボックスの穴
- Bashの権限バイパスを修正。細工したコマンドが自分の一部を権限チェックから隠せてしまう問題
- 許可プロンプトを修正。タブや不可視のUnicode文字で埋めたコマンドが、承認ダイアログから一部を隠せてしまう問題
- ワークフロースクリプトが動的な
import()を使い、ワークフローのサンドボックス外でコードを実行できてしまう問題を修正 - エージェント定義の
bypassPermissionsモードが、組織のバイパス禁止ポリシーを無視していた権限の抜けを修正
管理設定とプラグイン配布
- 管理設定の
strictKnownMarketplacesとblockedMarketplacesにオーナー単位のワイルドカード("owner/*")を追加。GitHub org配下のマーケットプレイスをまとめて許可・遮断できる - サーバー配信の管理設定が、マシン側の
managed-settings.jsonやMDMプロファイルのenvブロックを無効化しなくなった。管理者側のenvはキー単位でマージされる
ゲートウェイ経由のモデル解決とコンテキスト上限
- ゲートウェイのモデル自動取得が、
vertex_ai/claude-*やbedrock/anthropic.claude-*のようなプロバイダー接頭辞つきIDで登録されたClaudeモデルを隠していた問題を修正 modelOverridesのキーがAnthropicのモデルIDでないとき、それをセッションの正規モデルIDとして扱っていた問題を修正。未知のキーは無視されるCLAUDE_CODE_DISABLE_1M_CONTEXTを変更。固定リストではなく、ネイティブに1Mウィンドウを持つClaudeモデルすべてをauto-compactionで200Kに抑える。200Kに保てていないときは起動時に警告が出る- auto-compactを変更。認識できないモデルIDのセッションを、想定コンテキストウィンドウの内側に保つ。従来の挙動に戻すには
CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1
コードレビューのコマンド
/reviewを/code-reviewのエイリアスに変更。現在の差分かPRをレビューする(/code-review <level> <pr#>)。深いクラウドレビューは/code-review ultra- effort levelなしの
/code-reviewが、最後に打ったeffort levelを引き継ぐように変更。変えるときは/code-review highのようにeffort levelを打つ
/code-reviewの構文とeffort levelの効き方
構文は/code-review [low|medium|high|xhigh|max|ultra] [--fix] [--comment] [target]です。--fixは指摘を作業ツリーに適用し、--commentはGitHubのPRへインラインコメントとして投稿します。targetにはファイルパス、PR番号、ブランチ名、main...my-featureのような参照範囲(ref range)が渡せます。
effort levelの効き方はlow・mediumとhigh以上で分かれます。lowとmediumは確信度の高い指摘だけを返すため誤検出が減り、highからmaxは網を広く張るぶん確信度の低い指摘も混じります。
/code-review ultraはリモートのクラウドサンドボックスで走り、所要は5〜10分ほど。独立検証つきのマルチエージェント構成で、無料枠のあと1回あたりおおよそ5〜25ドル相当の使用クレジットがかかります。無料枠はProとMaxで各3回、一度きりで補充されません。TeamとEnterpriseに無料枠はなく、初回から使用クレジットを消費します。
利用にはclaude.aiアカウントでの認証が必要です。Amazon Bedrock、Google CloudのAgent Platform、Microsoft Foundry、およびゼロデータ保持を有効にした組織では使えません。その場合は、そのままローカルのレビューが走ります。
サブエージェントのモデル制限とクラウドセッション
- ワークフローエージェント、フォークしたスキル、スラッシュコマンド、再開したバックグラウンドエージェントが要求したサブエージェントのモデルが制限され、代わりに親モデルが走るときに警告を追加
- クラウドセッションに
/teleportのヒントを追加。claude --teleport <session id>でローカルに続けられることを示す
セッション再開・サンドボックス起動・安定性
- セッション途中の
/cdのあとに再開すると空で返る問題を修正 sandbox.filesystem.denyWriteが作業ディレクトリを覆っているとき、サンドボックスのコマンドがLinuxで起動に失敗していたのを解消- フォークしたバックグラウンドエージェントが再開時に親プロンプトの再構築に失敗すると、以降そのセッションのあいだ「already resuming」で止まる不具合を修正
- 履歴に壊れた診断アタッチメントが含まれる再開セッションで、毎ターン失敗したり、対話画面が応答しないエラー画面のまま固まったりする問題を修正
git pushの変則的な出力を解析するときに、まれに固まる症状も解消
更新はclaude updateで取得できます。
claude update
claude --versionbypassPermissionsの禁止ポリシーは、入口を1つずつ塞いできた
今回の修正は単発ではありません。disableBypassPermissionsModeという1つのポリシーに対して、それを迂回する入口が見つかるたび、個別に閉じてきた流れの続きです。
| バージョン | 閉じた入口 | 内容 |
|---|---|---|
| v2.1.69 | 閉じた入口VS Codeの権限モードピッカー | 内容ピッカーが、管理設定を含む実効設定のpermissions.disableBypassPermissionsModeに従うようになった |
| v2.1.77 | 閉じた入口PreToolUseフック | 内容フックがallowを返すとdenyルール(企業の管理設定を含む)を回避できた問題を修正 |
| v2.1.110 | 閉じた入口PermissionRequestフック | 内容updatedInputがdenyルールで再チェックされず、setMode:'bypassPermissions'が禁止設定を無視していた問題を修正 |
| v2.1.212 | 閉じた入口Taskツールのmode引数 | 内容引数を非推奨化(以降は無視)。サブエージェントは既定で親セッションの権限モードを継承する |
| v2.1.223 | 閉じた入口エージェント定義ファイル | 内容定義のbypassPermissionsモードが、組織のバイパス禁止ポリシーを無視していた問題を修正 |
並べると、入口の性格が1つずつ変わっているのが分かります。UIのピッカー、フックの戻り値、ツールの引数、そして今回の定義ファイル。新しいポリシーを足すのではなく、既存の1つが読まれていない場所を順に潰す形で進んできました。設定を読む処理が1か所にまとまっておらず、入口ごとに書かれてきたためだ、と見ることもできます。
管理者にとっての実務的な意味は、はっきりしています。disableBypassPermissionsModeを配ったこと自体は正しく、設定が間違っていたわけではありません。それを読まない経路が残っていただけです。したがって更新後にやることは、書き直しではなく、リポジトリに混ざっているエージェント定義の棚卸しになります。
Bashの権限チェックは、パーサーのずれで繰り返し破られてきた
今回のもう1つの権限修正は、系統が違います。細工したコマンドが自分の一部を権限チェックから隠す、というものです。同じ形の修正は以前から続いています。
| バージョン | 手口 |
|---|---|
| v1.0.120 | 手口プレフィックス一致を使ってBashツールの権限チェックを回避 |
| v2.1.6 | 手口シェルの行継続を使い、ブロックされたコマンドを実行 |
| v2.1.98 | 手口バックスラッシュでエスケープしたフラグが読み取り専用として自動許可され、任意コード実行につながる |
| v2.1.145 | 手口許可リスト外の環境変数への裸の代入が自動承認される |
| v2.1.214 | 手口bashと権限パーサーで解釈が異なるファイルディスクリプタのリダイレクト形式 |
| v2.1.216 | 手口&&リストや否定の内側にある、リダイレクトつき複合文 |
| v2.1.221 | 手口zshが[[ ]]の正規表現条件内で隠しコマンドを実行 |
| v2.1.223 | 手口細工したコマンドが自分の一部を権限チェックから隠す |
原因は毎回ほぼ同じ場所にあります。権限パーサーが読むコマンド文字列と、シェルが実際に実行するコマンドが一致していない。この構造をいちばん端的に示しているのがv2.1.214です。bashが権限パーサーとは異なる解釈をするリダイレクト形式に対して、権限チェックをfail closed(判断できないときは拒否側に倒す)に変えたものでした。シェルの文法が広いぶん、コマンド文字列を静的に解析して許否を決める方式はずれを抱え続けます。
権限パーサーのずれとは別に、承認ダイアログの表示そのものを狙う系統もあります。こちらの修正はv2.1.211、v2.1.216、v2.1.223の3つです。v2.1.211では、チャットチャンネルへ中継される権限プレビューが、双方向上書き文字・ゼロ幅文字・引用符に似せた文字をそのまま通していました。ツールへの入力で承認メッセージの見え方を変えられる状態です。
v2.1.216は、PowerShellのコマンドに混じる不可視のUnicode文字を権限判定で扱えるようにしたものです。そしてv2.1.223では、タブや不可視文字を使った詰め物が、承認ダイアログからコマンドの一部を隠せなくなりました。v2.1.221のzsh経由の隠しコマンドは権限パーサーのずれ側で、この系統とは別です。判断の材料になるのは、権限パーサーが読む文字列ではなく画面に出た文字列です。
/reviewと/code-reviewは、統合と分離を往復して再び1つに戻った
/reviewの扱いは、ここ数か月で3回変わっています。往復と言っていい動き方で、v2.1.223はその3回目にあたります。
| バージョン | 変更 |
|---|---|
| v2.1.147 | 変更/simplifyを/code-reviewに改名。effort level指定つきで正確性のバグを報告し、--commentでPRにインラインコメントを投稿できるようにした |
| v2.1.186 | 変更/review <pr>を/code-review mediumと同じレビューエンジンに統合 |
| v2.1.202 | 変更/review <pr>を高速な単発レビューに戻す。effort level指定のマルチエージェントレビューは/code-review <level> <pr#> |
| v2.1.215 | 変更/verifyと/code-reviewをClaudeが自発的に実行しなくなり、明示呼び出しに一本化 |
| v2.1.218 | 変更/code-reviewをバックグラウンドのサブエージェントとして実行するよう変更 |
| v2.1.223 | 変更/reviewを/code-reviewのエイリアスに変更。effort levelなしの/code-reviewは最後に打ったeffort levelを引き継ぐ |
v2.1.186で統合し、v2.1.202で分離し、v2.1.223で再びエイリアスに寄せています。v2.1.202の分離は、PRを1回だけ読み流す高速レビューという別の使い道を残すためだったと読めます。今回はその使い道ごと/code-reviewに畳まれています。直前のeffort levelを引き継ぐ挙動とあわせて見ると、入口を1つにして、深さの調節をeffort levelという1本の軸に集約する動きです。v2.1.215で自動実行をやめ、v2.1.218でバックグラウンド実行に移した流れの延長にあります。
利用者側でやることは、/reviewをPR向けの軽いレビューとして使い分けていた場合の見直しだけです。スラッシュコマンドのリファレンスには、/reviewがまだPR専用の単発レビューコマンドとして載っています。
まとめ
Claude Code v2.1.223は19項目のリリースです(Added 3件、Fixed 12件、Changed 4件)。中心は権限まわりの4件で、エージェント定義に書いたbypassPermissionsが組織の禁止ポリシーを素通りしていた抜けが塞がれました。Bashの権限チェック回避と、承認ダイアログの表示を隠す手口の修正も同時に入っています。
管理設定を配っているIT管理者と、自前ゲートウェイやBedrock・Vertex経由でモデルを呼んでいる運用には、はっきり効く回です。前者はリポジトリに混ざっているエージェント定義の棚卸しが、後者はモデル一覧とmodelOverridesの再確認が具体的な作業になります。CLAUDE_CODE_DISABLE_1M_CONTEXTで1Mを止めている環境では、抑制の対象がネイティブ1Mを持つ全モデルに広がった点だけ挙動が変わります。ローカルCLIで短い対話を回しているなら、体感の変化はほとんどありません。
CVEやGitHub Security Advisory(GHSA)の公開は、2026年8月6日時点で確認できていません。権限まわりの修正が4件並んではいますが、緊急告知として扱われている材料は見当たらず、通常の更新サイクルで取り込める内容です。
関連ガイド
Claude Code全体の中でのv2.1.223の役割はClaude Code(クロードコード)とはから辿れます。番号のひとつ前にあたるv2.1.222はworktree分離をセッション本体まで広げた回で、権限とサンドボックスの境界という点では今回と同じ流れにあります。
関連する記事
Claude Code をもっと見る →Claude Code(クロードコード)とは — CLI起点のエージェント型開発ツール
Claude Code v2.1.221 — バックグラウンドセッションのPR作成が条件付きに変わる
Claude Code v2.1.51 — claude remote-control追加と上級者向け既定値の標準化
Claude Code v2.1.218 — コードレビューをバックグラウンドで実行し、自動モードの確認ダイアログを削減
Claude Code v2.1.214 — 権限バイパスを複数修正、Windowsとバックグラウンドセッションも安定化
Claude Code v2.1.200 — 権限モード表示が「Manual」に、バックグラウンドエージェントを安定化