Claude Code の v2.1.321 〜 v2.1.325 の中から、実務への影響が大きいと思われるものを5つ選んで深掘りします。網羅的な変更点一覧は リリースノートまとめ にあるので、今回は「なぜ注目に値するか」にフォーカスします。
1. サンドボックス内 Bash の既定変更と、無人実行での確認(v2.1.325)
v2.1.325 では、これまでプロンプトなしで走っていた操作のいくつかが、既定で確認を求めるようになりました。
- サンドボックス内の Bash コマンドが、既定で通常の権限フローに従う。従来どおりにするには
sandbox.autoAllowBashIfSandboxed: true - マネージド設定でサンドボックスを有効にしている場合は、最上位のマネージドソースに
sandbox.autoAllowBashIfSandboxed: trueを設定する - スケジュールタスクと
/loopは、allowed-toolsやフックを宣言するスキルを実行する前に確認する。無人で動かすにはpermissions.allowにSkill(name)を追加 - プロジェクト外や信頼していないリポジトリでの read-only な git コマンドも確認を求める。プロンプトなしにするには
additionalDirectories設定ではなく--add-dirで指定 - Desktop / IDE / SDK ホストの "Always allow" は、保存したルールがそのコマンドを再び許可する場合にのみルール単体を提示する
{
"sandbox": {
"enabled": true,
"autoAllowBashIfSandboxed": true
},
"permissions": {
"allow": ["Skill(my-skill)"]
}
}
なぜ注目に値するか
サンドボックスを有効にしていれば Bash は自動で通る、という前提で組んだ環境は少なくないはずです。更新後はそこで確認待ちになり、誰も見ていないスケジュールタスクや /loop が止まる可能性があります。CHANGELOG にも「"Always allow" に頼っていたスケジュールタスクは待ち状態になりうる」と明記されています。定期実行を回している人は、更新前に設定を見直しておくのが確実です。
2. 未知のモデル ID のコンテキストウィンドウを 1M と仮定(v2.1.323 / v2.1.325)
Claude Code が認識しないモデル ID について、想定するコンテキストウィンドウが変わりました。
- 未知のモデル ID のコンテキストウィンドウを 200K から 1M と仮定する(v2.1.323)
- 早めにコンパクトするには
/autocompact、200K のままにするにはCLAUDE_CODE_DISABLE_1M_CONTEXT=1(v2.1.323) - 他ベンダーの、ウィンドウが小さいモデルでは、満杯になると
/clearまで毎ターン失敗しうる。満杯になる前にCLAUDE_CODE_DISABLE_1M_CONTEXT=1を設定する(v2.1.323) -
CLAUDE_CODE_MAX_CONTEXT_TOKENSが、claude-で始まる未知のモデル ID(ゲートウェイのclaude-sonnet-latestなど)にも効くように(v2.1.325) - 多くのサードパーティゲートウェイや Foundry で、コンパクトせずに毎ターンコンテキスト長エラーになる問題を修正(v2.1.325)
# 200K のモデルをゲートウェイ経由で使っている場合
export CLAUDE_CODE_DISABLE_1M_CONTEXT=1
なぜ注目に値するか
LLM ゲートウェイの独自エイリアスや他ベンダーのモデルを使っている場合、自動コンパクションのタイミングが大きく後ろにずれます。結果として、実際のウィンドウを超えたところで毎ターンエラーになり、/clear するまで抜けられないことがあります。該当する環境では、CLAUDE_CODE_DISABLE_1M_CONTEXT か CLAUDE_CODE_MAX_CONTEXT_TOKENS で実際のサイズを伝えておきましょう。
3. Claude Fable 5.2 がデフォルトの Fable モデルに(v2.1.321 / v2.1.322)
モデルまわりでは、新しい Fable と fast mode の改善が入りました。
-
claude-fable-5-2を追加し、デフォルトの Fable モデルに。1M コンテキスト、入力 $8 / 出力 $40(Mtok あたり)、キャッシュ読み取り $0.20/Mtok(v2.1.321) - 保存済みの Fable 5.1 の選択は
fableに移行。Pro / Max は即時、Team / Enterprise は組織が許可した時点で。戻すには/model claude-fable-5-1(v2.1.321) - fast mode がレート制限や過負荷のとき、まず同じモデルの標準速度を試すように。返答を失ったり、何分もリトライしたりしなくなった(v2.1.321)
- Vertex の global / us / eu リージョンで fast mode が使える。拒否された場合は標準速度にフォールバック(v2.1.322)
/model claude-fable-5-1
なぜ注目に値するか
保存済みのモデル選択が自動で新しいモデルに移るため、何もしなくても挙動とコストが変わります。単価が明記されているので、使用量の多いチームは見積もりを更新しておくと安心です。評価中などで旧モデルに固定したい場合は、/model claude-fable-5-1 で明示的に戻せます。
4. プラグインの engines["claude-code"] と検証の強化(v2.1.323 / v2.1.325)
プラグイン作者向けに、互換性を管理する仕組みが入りました。
-
plugin.jsonのengines["claude-code"]で、対応する Claude Code のバージョン範囲を宣言できる。範囲外のプラグインはインストール・更新・ロードされず、install / update は範囲内で最新のバージョンを選ぶ(v2.1.323) -
claude plugin validateが TypeScript フックモジュールを型チェック。指摘は warning、--strictなら失敗(v2.1.323) - プラグインの
agent設定が非推奨に。まだ適用されるが、起動時・claude plugin list・validateで警告(v2.1.323) -
subagentStatusLine設定は削除(v2.1.323) - プラグインフォルダ内の安全でないパスやリンクは、ロード時にスキップされ
validateで報告される(v2.1.325) - マーケットプレイスの
refに任意コミットのフル ID を指定可能に。ただし v2.1.325 より前のクライアントはこのピンをクローンできない(v2.1.325)
なぜ注目に値するか
Claude Code の更新は頻繁なので、新しい API に依存したプラグインが古いクライアントで壊れる問題は避けにくいものでした。engines で範囲を宣言しておけば、合わないクライアントにはそもそも入らず、合うバージョンが自動で選ばれます。--strict 付きの validate を CI に入れておけば、フックの型エラーや非推奨設定もリリース前に検出できます。
5. Bash パーミッション・サンドボックス・MCP のセキュリティ修正(v2.1.321 〜 v2.1.325)
今回の範囲にも、権限チェックをすり抜けうる問題の修正が多く入っています。
- MCP OAuth リクエストが、サーバーのリダイレクトでリフレッシュトークンなどのシークレットを別ホストに送ってしまう問題(v2.1.321)
- ディレクトリへの
cp/mvで書き込まれるファイルに deny ルールが効かない問題(v2.1.321) -
--permission-mode autoやdefaultMode: autoが、auto mode を使えないときにより多くを許可しうるモードで起動する問題(v2.1.323。Manual モードで起動するように) -
Bash(ls*)のようなワイルドカード付き allow ルールや、sudo/env経由のコマンドでルールが正しく効かない問題(v2.1.323) - サンドボックスを有効にする
--settingsが検証エラーのとき、claude -p/ Agent SDK がサンドボックスなしで Bash を実行する問題(v2.1.323。起動時に停止するように) - zstd 圧縮レスポンスのデコード、Bash の一部の複合コマンド、名前と別のプログラムを実行しうる allow ルール(v2.1.325)
-
Read(./.env)のような相対 deny ルールがcd後に効かなくなる問題(v2.1.325)
なぜ注目に値するか
deny ルールやサンドボックスは「設定してあれば守られる」と考えて運用されがちです。今回の修正は、その前提が崩れていた経路を塞ぐものです。特に「サンドボックスを有効にしたつもりが、設定エラーで無効のまま claude -p が動いていた」ケースは、自動化で気付きにくい問題でした。v2.1.325 には zstd のセキュリティ修正もあるので、早めの更新をおすすめします。
まとめ
| テーマ | 内容 |
|---|---|
| サンドボックス内 Bash の既定変更 | 既定で権限フローに従う。無人実行は sandbox.autoAllowBashIfSandboxed と Skill(name) を要確認 |
| 未知モデルのコンテキスト 1M 仮定 | ゲートウェイ・他ベンダーのモデルは CLAUDE_CODE_DISABLE_1M_CONTEXT などで実サイズを伝える |
| Claude Fable 5.2 | デフォルトの Fable に。保存済みの選択も移行。fast mode のフォールバックも改善 |
プラグインの engines
|
対応バージョン範囲を宣言。validate --strict で型チェック |
| セキュリティ修正 | MCP OAuth のシークレット送信、Bash ルールのすり抜け、サンドボックス設定エラー時の挙動など |
特に注意したいのは 1 の変更です。スケジュールタスクや /loop を運用している場合は、更新後に確認待ちで止まっていないかを最初にチェックしてください。なお、実験的な Code Mode(v2.1.323)も追加されているので、興味のある方はリリースノート記事からドキュメントをたどってみてください。