Claude Code の v2.1.317 〜 v2.1.319 の中から、実務への影響が大きいと思われるものを5つ選んで深掘りします。網羅的な変更点一覧は リリースノートまとめ にあるので、今回は「なぜ注目に値するか」にフォーカスします。
1. permissions.denyInsteadOfPrompting(v2.1.319)
権限プロンプトで待つことになるツール呼び出しを、プロンプトを出さずに deny してターンを継続する設定です。ターミナルセッション、サブエージェント、チームメイトが対象です。
{
"permissions": {
"denyInsteadOfPrompting": true
}
}
関連して、v2.1.319 では次の修正も入っています。
-
timeout 30 rg fooのような read-only コマンドへの不要な権限プロンプトを解消 - 一方で
whichはフラグ付きだと確認を求めるように変更
なぜ注目に値するか
無人運用では、権限プロンプトが出た時点で誰も答えられず、セッションが止まってしまうのが悩みどころでした。この設定なら「聞かずに拒否して先へ進む」ので、定期実行やサブエージェント多用の構成でも止まりにくくなります。allow ルールを整えたうえで、想定外の操作だけを落とす運用に向いています。
2. Bash パーミッションまわりのセキュリティ修正(v2.1.319)
v2.1.319 には、権限チェックをすり抜けうる問題の修正が集中しています。
- crafted な環境変数プレフィックスで、コマンドの一部をパーミッションチェックから隠せる Bash のバイパス
- クォートされた語を含むコマンドを、Bash の deny / ask ルールが取りこぼす問題
- accept-edits / auto mode で
sedコマンドがチェックを飛ばす場合があった問題 - worktree 作成時のサンドボックス脱出
-
mcp__claude_ai_Slackのようなコネクターの terminal name で書いた deny / ask ルールやdisallowedToolsが無視される問題 -
/rewindがディレクトリのシンボリックリンク経由でファイルを復元・削除しうる問題
なぜ注目に値するか
deny ルールは「書いてあれば守られる」前提で運用されがちです。今回の修正は、その前提が崩れていた経路をまとめて塞いでいます。特に auto mode や accept-edits で長時間走らせている場合は、更新の優先度が高い内容です。
3. MCP tasks のターミナル対応(v2.1.319)
MCP サーバーがツール呼び出しをタスクとして実行する場合、Claude Code は即座にバックグラウンドへ移し、完了したときに結果を Claude に伝えます。
- feature flag の取得なしでも動作する(Bedrock / Vertex / Foundry / LLM ゲートウェイ /
DISABLE_TELEMETRY) - バックグラウンド化したくない場合は
CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUNDで、ツール呼び出し内で待つ動作に戻せる
export CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND=1
あわせて、旧ハンドシェイクの MCP サーバーが接続失敗・空結果になる問題や、claude.ai コネクターの長時間呼び出しが --resume 後に結果を返さない問題も修正されました。
なぜ注目に値するか
時間のかかる MCP ツールを呼ぶたびに会話が止まる、という状況を避けられます。実行中に別の作業を進められるうえ、完了後は Claude に結果が伝わります。重い処理を MCP サーバー側に持たせる設計と相性が良い変更です。
4. auto mode のサーバー側チェックの変更(v2.1.319)
テレメトリや feature flag が無効な環境(LLM ゲートウェイ経由を含む)での auto mode の扱いが変わりました。
- サーバーで確認できない呼び出しは、確認または deny になり、組み込み分類器へのフォールバックはしない
- 従来の挙動を使いたい場合は
CLAUDE_CODE_AUTO_MODE_SERVER=0 - LLM ゲートウェイ経由では
CLAUDE_CODE_AUTO_MODE_SERVER=1で、CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS設定時でもサーバー側チェックを有効にできる - プロジェクト設定やプラグインから、一度オフにしたサーバー側チェックを再度オンにはできない
- auto mode で安全チェックが使えず拒否された場合、
claude -pは exit 1 で終了する -
CLAUDE_CODE_DISABLE_FEATURE_FLAGSで、テレメトリを止めずに feature flag の取得だけを停止できる
なぜ注目に値するか
「チェックできないなら通す」ではなく「チェックできないなら止める」側に倒れた変更です。安全側ですが、ゲートウェイ経由やテレメトリ無効の環境では、これまで通っていた呼び出しが確認・拒否になりえます。スクリプト内の claude -p が exit 1 になるケースも含め、該当環境では更新前に挙動を確認しておくのがおすすめです。
5. 設定・ログイン情報の保存まわりの堅牢化(v2.1.318 / v2.1.319)
~/.claude.json や設定ファイルが、ディスクフルやネットワークホームで壊れる問題への対策が続けて入りました。
- ディスクが満杯になったとき、
~/.claude.json・設定・編集中ファイルが空または途中で切れる問題を修正(v2.1.319) - 旧名の設定ファイルが共存する場合に、stderr で警告し、どちらが使われているかを表示(v2.1.319)
- 共有ネットワークホームで、ログイン情報・設定が消えたり空になったりしにくくなった(v2.1.318)
- 非対話起動が壊れた
~/.claude.jsonをデフォルトで上書きせず、復元方法を示して失敗する(v2.1.318) -
claude -pや SDK アプリが、変更がないのに毎回~/.claude.jsonを書き直さなくなった(v2.1.318) - ログイン期限を
claude auth status(loginExpiresAt)とclaude -pの JSON 結果(credential_expires_at)に追加。期限10日前から stderr に警告(v2.1.318)
なぜ注目に値するか
設定ファイルが空になると、MCP サーバーや信頼設定が丸ごと消えたように見え、原因の切り分けも大変です。さらに、定期実行がある日突然 Not logged in で止まる事態も、期限の事前警告で防ぎやすくなります。CI やサーバー上で claude -p を回している人ほど、効果を実感しやすい変更です。
まとめ
-
permissions.denyInsteadOfPromptingで、無人運用が権限プロンプトで止まらなくなる - Bash のパーミッションまわりに複数のセキュリティ修正が入ったので、早めの更新を
- MCP tasks に対応し、長時間の MCP ツール呼び出しをバックグラウンドで扱える
- auto mode はサーバーで確認できない場合に止まる側へ。ゲートウェイ経由・テレメトリ無効の環境は要確認
- 設定ファイルとログイン情報の保存が堅牢になり、ログイン期限も事前に分かる