Claude Code v2.1.257、auto モードで拒否ルールが素通りしていた経路を修正
v2.1.257 で、permissions.ask や Bash の拒否ルール、sandbox の deniedDomains が対象と判定されず通っていた経路が塞がれた。auto モードで運用しているチーム向けに、更新の優先度を整理する。
v2.1.257 で、permissions.ask や Bash の拒否ルール、sandbox の deniedDomains が対象と判定されず通っていた経路が塞がれた。auto モードで運用しているチーム向けに、更新の優先度を整理する。
Claude Code の v2.1.257 が 2026年9月1日に公開された。auto モードの権限判定を素通りしていた経路が、まとめて塞がれている。permissions.ask や --disallowedTools を書いて運用しているなら、書いたとおりに止まっていなかった条件がある。以下の変更点の出典は、GitHub のリリースノート「Release v2.1.257 · anthropics/claude-code」(2026年9月1日公開)。
左が設定していたルール、右がそれを素通りしていた条件だ。すべて v2.1.257 で修正されている。
| ルール・設定 | 素通りしていた条件 |
|---|---|
permissions.ask のルール(auto モード) | 複合コマンドやサブシェルの中で実行されると、確認プロンプトなしで通った |
Bash の Read() / Edit() 拒否ルール | < file のリダイレクト、tac や egrep のような読み取りコマンドには効かなかった |
| Bash の権限チェック | zsh と bash で解釈の違う [[ ]] の条件式を自動承認していた |
sandbox の deniedDomains | 末尾にドットの付くホスト(example.com.)を塞げず、「二度と確認しない」も効かなかった |
| プラグインのコンポーネントパス | シンボリックリンク経由で自分のディレクトリ外のファイルを読めた |
allowManagedPermissionRulesOnly が有効なとき | 最初の設定リロードの後、--disallowedTools とセッションの拒否ルールが落ちていた |
| Remote Control の同意プロンプト | Esc や n での却下が同意として扱われ、次の要求は確認なしに接続した |
出典:GitHub「Release v2.1.257 · anthropics/claude-code」(2026年9月1日公開)
表の七件はどれも、ルールの書き方が間違っていたのではなく、判定側がそれを対象と認識していなかった。設定ファイルを読み返しても原因は出てこない。
同じリリースノートに、MCP の修正も二つ載っている。管理された MCP の allow/deny リストや strictPluginOnlyCustomization が起動後に読み込まれた場合、本来ブロックされるべき設定ファイル由来のサーバに /mcp の reconnect と enable が接続していた。claude mcp remove は、MCP がプラグイン専用に固定されているとき、リモートサーバの OAuth 資格情報を消さずに残していた。
Containment Escape という規則が auto モードに入った。クラウドのメタデータ資格情報の取得、egress の回避、テナントをまたぐ到達は、環境側が想定内と印を付けていない限り自動承認されない。
作業ディレクトリの外を最初に読む前に、一度だけプロンプトが出る。読み取りそのものを止めるなら permissions.blockReadsOutsideWorkingDirectories を設定する。/doctor は、強制終了されたセッションが残した古い sandbox mask ファイルを警告するようになった。
v2.1.257 では、停止の指示が届いていなかった経路が塞がれている。timeout や setsid でシェルから切り離した背景コマンドは、タスクを停止しても Claude Code を終了しても生き残っていた。背景サブエージェントを止めても、そのサブエージェントが起動した Monitor は動いたままだった。タスクパネルや接続中のクライアントから背景コマンドを止めたことが、モデルに伝わっていなかった。
中断された daemon 起動が残す cc-daemon-* フォルダは、システムの一時ディレクトリに溜まっていた。cleanupPeriodDays の保持期間の掃除が回収する。policyHelper の timeoutMs と refreshIntervalMs は、タイマの最大値 2147483647 を超える値を書くと失敗するか毎ミリ秒再実行されていて、今は丸められる。
認証まわりは経路ごとに別の不具合が直っている。カスタムの Authorization ヘッダが二重に並ぶと、設定した資格情報を上書きしていた(Bedrock、Mantle、Vertex、WIF)。Vertex のセットアップウィザードは ~/.config/anthropic に残った Anthropic のプロファイルを拾っていた。Claude apps gateway は Foundry、Vertex、Bedrock へ、ホスト側の Authorization やプロファイルのヘッダを送っていた。API キーモードでは、残っていた Anthropic の API キーや認証トークンが Foundry のサブスクリプションキーと一緒に送られていた。
鍵を経路ごとに分けている運用でも、リリースノートが挙げるこれらの経路では、前提どおりに動いていなかった。ANTHROPIC_FOUNDRY_API_KEY を設定していると Foundry の Entra ID upstream が起動しない問題も、同じリリースで直っている。
Bedrock と Bedrock Mantle には別の修正もある。Opus 4.7 以降で hidden thinking が長く続く間、リクエストが無音になってアイドルタイムアウトが接続を切っていた。ストリームが進捗イベントを載せるようになった。Bedrock のモデル料金の変更は別に書いている。
claude-fable-5-1 が追加され、Fable の既定モデルになった。コンテキストは 1M、料金は $10/$50 per Mtok、キャッシュ読み出しが $0.25/Mtok。リリースノートは $10 と $50 のどちらが入力でどちらが出力かまでは書いていない。
サブエージェントのモデルを一か所で固定したいなら CLAUDE_CODE_SUBAGENT_MODEL_FORCE が使える。CLAUDE_CODE_SUBAGENT_MODEL(未設定ならメインモデル)を全サブエージェントに適用し、spawn ごとの指定とエージェント定義側の上書きを無視する。/effort には s が増え、/model と同じくセッション限定で effort を変えられる。
プロンプトキャッシュを外していた経路も三つ直っている。セッション途中で Remote Control が接続すると、Bash のツール定義が再送されてキャッシュが外れていた。advisor model を設定したセッションでは、compaction や /recap、プロンプト候補といった背景リクエストが毎回会話全体をキャッシュなしで送り直していた。スクリーンショットの多いセッションでは、画像が 1 リクエストあたりの上限を超えると毎ターン外れていた。
GitHub のタグ一覧では、同じ 2026年9月1日に v2.1.258 も並んでいる。
permissions.ask や Bash の拒否ルール、deniedDomains を書いているなら、表の条件に当てはまるものを確かめてから上げるnpm 経由のインストールは README で deprecated と書かれているが、macOS の npm インストールで自己更新中に背景セッションが起動しない不具合が今回直っている。npm のまま動かしている環境にも、この修正は当たる。