Claude Media
Claude Code v2.1.325 — サンドボックス内Bashの自動承認が既定でなくなる

Claude Code v2.1.325 — サンドボックス内Bashの自動承認が既定でなくなる

Claude Code v2.1.325はサンドボックス内Bashの自動承認を既定でやめ、定期実行スキルや読み取り専用gitにも確認を挟みます。zstd復号の脆弱性修正と権限まわりの修正が続きます。

このリリースで何ができるようになるか

Claude Code v2.1.325は、確認なしで動いていた経路に確認を挟む変更が中心です。機能追加は少なく、changelogの大半は修正と挙動変更で占められています。読者に効く点は3つです。

  • サンドボックス内のBashコマンドが、既定で通常の許可フローに従うようになった
  • /loop や定期実行のタスクが、allowed-tools やhooksを宣言したスキルを実行する前に確認を求めるようになった
  • zstd圧縮されたレスポンスの復号に関するセキュリティ問題が修正された

無人で回している環境では、止まる箇所が増える可能性があります。先にサンドボックスの設定を見直しておくと、更新後に慌てずに済みます。

あなたの開発フローはどう変わるか

サンドボックスを有効にして使っている場合

サンドボックス内のコマンドは、これまで確認なしで走るのが既定でした。v2.1.325では通常の許可フローに従います。以前の挙動を保つには、次の1行を設定に足します(設定の詳細はautoAllowBashIfSandboxedの解説にあります)。

{
  "sandbox": {
    "autoAllowBashIfSandboxed": true
  }
}

組織のmanaged settingsでサンドボックスを有効にしている場合は、最上位のmanaged sourceに同じキーを置きます。

/loop や定期実行でスキルを回している場合

allowed-tools かhooksを宣言したスキルは、定期実行の前に確認が入ります。無人で動かし続けたいスキルには、permissions.allow に Skill(name) を足します。

{
  "permissions": {
    "allow": ["Skill(daily-report)"]
  }
}

daily-report は例の名前です。Desktop・IDE・SDKホストの「Always allow」も変わりました。保存したルールでそのコマンドが次回も許可される場合にだけ、ルール単体の選択肢が表示されます。「Always allow」を頼りに回していた定期タスクは、確認待ちで止まることがあります。

別のリポジトリを読み取る場合

自分のプロジェクトでも信頼済みでもないリポジトリでは、読み取り専用のgitコマンドにも確認が入ります。確認なしで通したいときは --add-dir で名前を渡します。additionalDirectories 設定では確認が外れません。

ゲートウェイ・Foundry経由の場合

サードパーティのゲートウェイやFoundryで、毎ターンコンテキスト長エラーで止まり、圧縮に進まない不具合が直りました。CLAUDE_CODE_MAX_CONTEXT_TOKENS は、claude- で始まる未知のモデルIDにも効きます。ゲートウェイ側が claude-sonnet-latest のような別名を使っていても、コンテキストウィンドウを指定できます。

主な変更点

139項目あり、運用に効くのは権限・MCP・認証・プラグインまわりです。

セキュリティと権限

項目内容
zstd内容圧縮レスポンスの復号に関するセキュリティ問題を修正
Bash許可内容一部の複合コマンドが確認なしで走る隙間をふさぎ、確認を求めるように変更
Bash許可内容allowルールが、書かれた名前とは別のプログラムを実行できてしまうケースを修正
deny / ask内容相対パスのルール(Read(./.env) など)が cd 後も効くように修正。追加ディレクトリにも適用
deny / ask内容mcp__plugin_*_ で始まるルールが、大文字小文字の違うプラグイン名を取りこぼす問題を修正
サンドボックス内容追加ディレクトリの .claude 設定・スキル・エージェント・コマンド・hooksへの書き込みを拒否
サンドボックス内容worktreeの設定・hooksと、リンクされたworktreeの共有gitフォルダの保護を補強
作業ツリーの隔離内容隔離されたworktreeでは git bisect run、git maintenance register と git maintenance start、scalar のセットアップ系を拒否

自動承認の既定変更と合わせると、権限の判定が全体に厳しい側へ動いたリリースです。

Artifactの公開確認

組織外から見えるArtifactの変更は、確認の抜け道がいくつか修正されました。

  • allowルールがある、または過去にアップロードを承認していたとき、一部のサブエージェントが確認なしに変更やアップロードをしていた
  • 「今後は確認しない」をArtifactに選んだ後、組織外に見えるページの公開確認が飛ぶ場合があった
  • autoモードが、組織外に見えるArtifactの最初の変更だけを判定していた。autoモードの「はい」という判定は、いまはその変更1件にだけ有効になる

自分のArtifactやそのデータを読むときに権限を聞いていた挙動も直っています。

MCPとバックグラウンドタスク

MCPの修正が最も多い領域です。

  • 一時的に拒否されたトークン更新のあと、MCPサーバーが「needs authentication」のまま残り、mcp_tool フックが飛ばされる不具合
  • ヘッドレスモードで、サーバー接続が差し替わったあとにelicitationが確認なしで取り消される不具合
  • バックグラウンドのMCPタスクの質問をEscで閉じると詰まる不具合

質問への挙動も変わりました。Escは「あとで答える」になり、サーバーには何も送られません。質問は /tasks に残り、Enterでもう一度表示できます。Claudeには、タスクが回答待ちだと伝わるようになりました。入力中のメッセージの上に質問が割り込むこともなくなり、送信かクリアまで待ちます。

認証とアカウント

  • /login の「Sign in with your Console account」で、ブラウザ手順の直後にEscを押すと既存のログインが置き換わる問題を修正
  • claude.aiのログインで始めたバックグラウンドセッションは、サービスを起動したシェルのAPIキーやトークンで課金されなくなった
  • 別のサインインへ移るケースは、これまでより多く拒否され、使える方法を示すメッセージが出る
  • claude auth status などの短いコマンドがロックを残さなくなり、次のセッションが約1分止まることがなくなった
  • キーなしのConsoleサインインでは、サーバーに問い合わせていない /fast が「組織が無効にしている」と表示されなくなった
  • ネットワークがないなど確認できないときに、/model が組織によるモデル制限を表示していた問題を修正

Windows・Linux・端末表示

  • Windows: PATHにアクセスできないフォルダがあると、起動が約1秒止まる問題を修正
  • Windows: /resume が、ドライブレターの大文字小文字やスラッシュの違いで記録されたセッションを拒否・非表示にする問題を修正
  • Linux: 作業ディレクトリが denyRead 内の allowRead フォルダの下にあるとき、bwrap: Can't create file で失敗する問題を修正
  • claude -p のテキスト出力は、端末に出すときにテキスト装飾以外の制御シーケンスを通さない。パイプとファイルへの出力は変わらない
  • ウェルカムヘッダーが、エージェント名や作業フォルダの制御文字・改行で崩れる問題を修正

プラグインとmarketplace

プラグイン周りは、読み込みと信頼の条件を厳しくする変更が続きます。

  • MCPバンドル(.mcpb、.dxt)は、プラグインのフォルダ内の .mcpb-cache ではなく、pluginsディレクトリの下に展開される。読み取り専用のプラグインフォルダでも読み込める。URLで取得したバンドルは、一度だけ再ダウンロードされる
  • managed settingsが宣言し有効化したリモートmarketplaceのプラグインは、prependPlugins / appendPlugins に載っていれば組織のものとして数える。pluginDigests は非推奨になり、無視される
  • プラグインのフォルダ内にある安全でないパスやリンクの一部は、読み込み時にスキップされ、claude plugin validate が報告する
  • marketplaceの ref が、ブランチやタグ上にある任意のコミットの完全なIDを受け付ける。このバージョンより前のクライアントは、そのピン留めをcloneできず、この方法でピン留めしたmarketplaceが読み込まれなくなる
  • ALL_PROXY だけが設定されているとき、ダウンロードはCONNECTトンネルを使う。CONNECTを拒否するプロキシでは、失敗するようになる
  • 追加確認の文言に「プラグインはあなたのコンピューター上でコードを実行でき、ファイルやシェルにアクセスできる」旨が加わった

運用に効く小さな変更

  • claude remote-control は、ひとりでに停止したときにステータス4で終了し、登録できないときは69で終了する。サービスマネージャーが再起動できる(単一セッション実行の終了コードは0のまま)
  • サブエージェントが出力トークン上限で切れたとき、末尾だけを返さず、全体をより短く書き直すよう再度求める
  • opusplan や haiku の設定時でも、独自モデルを持つサブエージェントはplan-modeのモデルへ移されなくなった
  • 別モデルのサブエージェントが、ファイル読み取りとMCP結果のサイズをメインセッションのモデルで見積もっていた問題を修正
  • 保存済みの sonnet[1m] 設定は、新規インストール時にAPIが拒否するモデルIDへ書き換えられなくなった
  • 作業ディレクトリが削除されたあとは、起動ディレクトリでシェルコマンドが走らず、メッセージ付きで失敗して再実行できる
  • 承認したプランの編集が、plansDirectory に書けず失われていた問題を修正。既定のプランフォルダに保存し、場所と理由を警告で知らせる
  • 再開したセッションは、終了が正常でなかったときも直近のターンが欠けなくなった

VS Code拡張には、プロンプト提案(Tabで次のプロンプトを受け入れる。promptSuggestionEnabled: false で無効化)、APIキーを作らないConsoleサインイン、SSH・WSL・コンテナでのMCPサインイン用リダイレクトURL貼り付け欄が加わりました。

サンドボックスを有効にしても、Bashは既定で承認を求めるようになった

この変更は、サンドボックスの役割を変えます。公式のサンドボックスのページには、自動承認(auto-allow)モードと通常の許可モードの2つが載っています。自動承認では、サンドボックス内で動くコマンドは確認なしで通ります。通常の許可モードでは、サンドボックスでも普通の確認が出ます。

既定は後者へ寄りました。囲いは残り、ファイルとネットワークの制限も変わりません。変わるのは、囲いの内側のコマンドを人が承認するかどうかだけです。

追加ディレクトリの .claude 配下への書き込みも、起動フォルダと同じく拒否されるようになりました。起動フォルダには前から同じ保護があり、追加ディレクトリを同じ扱いに揃えた形です。

なお、サンドボックスのページには、ファイルシステム分離をオフにした場合の節に autoAllowBashIfSandboxed が「まだ既定で true」という記述が残り、設定リファレンスの sandbox.autoAllowBashIfSandboxed にも「Default: true」と載っています。changelogの既定変更と食い違うため、更新後は自分の環境でサンドボックスのコマンドに確認が出るかを試し、挙動で判断してください。/sandbox のModeタブに、有効なモードが表示されます。

過去のバージョンから見た流れ

一つ前の記事化されたリリースv2.1.323は、Bashの許可ルールが「書いた範囲より広く通さない」方向への修正を含んでいました。v2.1.325はその続きにあたり、複合コマンドの確認・allowルールが別のプログラムを動かす経路の修正が並びます。

番号上はv2.1.324が欠けており、v2.1.323の次がv2.1.325です。

更新前に確認したい人

利用形態影響見るところ
サンドボックス有効の対話利用影響条件次第見るところ確認が増えるのが煩わしければ autoAllowBashIfSandboxed
/loop・定期実行でスキルを回す影響明確な影響あり見るところallowed-tools かhooksを宣言したスキルの Skill(name)
managed settingsで組織配布影響明確な影響あり見るところ最上位managed sourceのサンドボックス設定、prependPlugins
Desktop・IDE・SDKの「Always allow」依存影響条件次第見るところ保存したルールが再び許可されるかどうか
自分のでも信頼済みでもないリポジトリを additionalDirectories で読む影響条件次第見るところ--add-dir へ切り替え
ゲートウェイ・Foundry経由影響明確な恩恵あり見るところコンテキスト長エラーの解消
単発の対話利用でサンドボックスを使わない影響ほぼ影響なし見るところ特になし

まとめ

v2.1.325で最初に確認するのは、サンドボックスを有効にした環境で、確認が増えても困らないかです。無人で回すチームは、autoAllowBashIfSandboxed と Skill(name) の2つを先に決めておくと、更新後に処理が止まりません。zstd復号のセキュリティ修正も含まれるため、更新の優先度を決める際に併せて見ておくとよいでしょう。

関連ガイド

このバージョン単体の位置づけや前後の版とのつながりは、Claude Codeとは — できること・料金・使い方でまとめて確認できます。

参照した一次ソース

この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。

  1. code.claude.com/docs/en/changelog
  2. github.com/anthropics/claude-code/releases/tag/v2.1.325
この記事を共有:XはてブLinkedIn