
Claude Code v2.1.322〜v2.1.323 の主要アップデート - Code Mode の追加と Bash 権限チェック・サンドボックスの修正
クラウド事業統括本部の石川です。Claude Code の v2.1.322 〜 v2.1.323(2026-11-10 〜 2026-11-12)のアップデートをまとめてご紹介します。v2.1.323 だけで 294 件の変更が含まれています。サンドボックス設定の検証失敗時の起動停止の挙動について試してみました。
前回のアップデート記事はこちらです。
アップデートサマリー
対象は 2 バージョン(v2.1.322 〜 v2.1.323、2026-11-10 〜 2026-11-12)、合計 295 件です。v2.1.322 は 1 件、v2.1.323 は CLI 本体 248 件と、VS Code 拡張・Claude Code on the web などプラットフォーム別の 46 件です。v2.1.323 の CLI 本体 248 件を本記事で分類すると、修正 142 件、セキュリティ 42 件、改善・パフォーマンス 30 件、新機能 15 件などになります。セキュリティに分類した項目の多くは Bash の権限チェックとサンドボックスに関するものです。破壊的変更・非推奨は 20 件あります。
注目のアップデート
Code Mode を追加(v2.1.323)
実験的なオプトイン機能として Code Mode が追加されました。Claude が JavaScript を書いてツールを呼び出す方式です。有効にする方法と組織単位で無効にする方法は下記のリンクで案内されていますが、2026-11-13 時点ではこのページは 404 で、手順を確認できませんでした。本当はこれを試したかった。
組織で利用する機能を管理している方は、Code Mode を組織単位で無効化できる点を押さえておくとよいと感じます。
plugin.json に engines["claude-code"] を追加(v2.1.323)
plugin.json に engines["claude-code"] を書けるようになりました。記載した Claude Code のバージョン範囲に合わない環境では、そのプラグインはインストール・更新・読み込みのいずれも行われません。インストールと更新では範囲に合う最新のバージョンが選ばれます。
プラグインを配布している方は、対応する Claude Code のバージョン範囲を書いておくことで、対応していないバージョンの Claude Code でプラグインが読み込まれる事態を避けやすくなると感じます。
/compact で未回答のメッセージが要約される問題を修正(v2.1.323)
/compact を続けて実行したとき、または /context などのコマンドの後に実行したときに、Claude がまだ回答していないメッセージが要約に含まれて消える問題が修正されました。
/context で使用量を確認してから /compact する流れを日常的に使っている方ほど、影響を受けていた不具合だと見ています。
Bash の権限チェックの修正(v2.1.323)
許可ルールや deny ルールが期待どおりに働かないケースがまとめて修正されました。主なものは次のとおりです。
rmを誤ったフォルダを基準に判定し、bypass permissions や Bash の許可ルールの下で危険な削除の確認をスキップするケースBash(ls*)のように、スペースを空けずにワイルドカードを続けた許可ルールが、確認をスキップするケース(Bash(NODE_ENV*)のように変数名を含むルールは確認を求めるようになりました)sudo・envなどのラッパー経由で実行したコマンドを、deny ルール・ask ルールが見落とすケース- Write / Edit ツールが Read の deny ルールの対象パスに書き込めるケース
許可ルールや deny ルールで操作範囲を絞っている方や、bypass permissions を使っている方は、早めにアップデートしておくのがよいと感じます。
サンドボックス設定の検証に失敗したときに起動を停止(v2.1.323)
サンドボックスを有効にする --settings や SDK の設定が検証に失敗したとき、claude -p と Agent SDK がサンドボックスなしで Bash を実行する問題が修正されました。現在は起動時に停止し、無効な設定を表示します。あわせて、--settings のファイルが有効な JSON ではなく、かつ sandbox キーを含む場合は、サンドボックスをオフにする指定であっても起動を停止するよう変更されています。
CI などで claude -p --settings にサンドボックスの設定を渡している方は、設定に誤りがあると起動しなくなる点を把握しておくとよいと考えます。
対象バージョンと期間
| バージョン | 公開日 |
|---|---|
| v2.1.322 | 2026-11-10 |
| v2.1.323 | 2026-11-12 |
新機能
注目のアップデートで紹介した Code Mode と engines["claude-code"] のほかに、次の機能が追加されています。
- Vertex AI の global・us・eu リージョンで fast mode を利用できるようになりました。Vertex が fast mode を拒否した場合は標準の速度にフォールバックします(v2.1.322)
claude plugin validateがプラグインの TypeScript フックモジュールを型チェックするようになりました。指摘は警告として扱われ、--strictを付けると失敗になります(v2.1.323)- モデルが使用量クレジットを必要とし、そのクレジットが無効になっているか使い切られている場合に、停止・使用量クレジットへの切り替え・アップグレードを選べるメニューが表示されます(v2.1.323)
CLAUDE_CODE_DISABLE_AGENT_PROGRESS_SUMMARIESが追加されました(2.1.318 から利用可能)。1を設定すると、サブエージェントの進捗サマリーと、それを生成するリクエストが無効になります(v2.1.323)CLAUDE_CODE_RESUME_HINT_COMMANDが追加されました。Claude Code を起動するプログラムがこれを設定すると、終了時のヒントにそのプログラムの再開コマンドが表示されます(v2.1.323)claude -pと SDK のセッションで、フックが長時間実行されている間は 30 秒ごとに進捗のハートビートが送られます。Claude Desktop などのホストが、応答が止まったと判断してターンを終了しないようにするもので、ホスト側が本バージョンを取り込んだ後に有効になります(v2.1.323)claude plugin install --jsonの結果に、未設定のuserConfigオプションの数を示すunsetOptionCountが追加されました(v2.1.323)- プラグインの言語サーバーが起動できないときに、サーバー名と確認すべき点を示す警告が表示されます(v2.1.323)
- Perforce の設定が見つかり、
CLAUDE_CODE_PERFORCE_MODEがオフのときに、この環境変数名を示す通知が起動時に 1 回だけ表示されます(v2.1.323) - Artifact ツールのアセットアップロードが
.docxに対応しました(v2.1.323) - diff パネルに
/diff to closeのヒントが、?のショートカットガイドにパネルをフォーカス・クローズするキーが追加されました(v2.1.323) - サードパーティプロバイダー上の Claude Desktop セッション向けに、managed settings で
CLAUDE_CODE_AUTO_MODE_MODELを指定できるようになりました。Claude Desktop が本バージョンを取り込んだ後に有効になります(v2.1.323) - mod の開発向けに、
claude plugin validateがengine.createフックで追加・除外・置換される$名詞を表示するようになり、ペインの props にisPromptCoveredが追加されました(v2.1.323)
改善
/loginとclaude setup-tokenで、リクエストが拒否・到達不能・タイムアウトになったときのエラーが、何が起きたかと確認すべき点を示すようになりました(v2.1.323)/mcpで、入力スキーマが API に拒否されるために除外されたツールの数と、その理由が表示されるようになりました(v2.1.323)- 多数のサブエージェントを使うときのメモリ使用量が改善されました。終了したサブエージェントのトランスクリプトは、後続のサブエージェントの実行中もメモリに残らず、早めに解放されます(v2.1.323)
- 深くネストしたページでの WebFetch の速度とメモリ使用量が改善されました(v2.1.323)
- インストールスクリプトでのインストール時に、最新版を 2 回ダウンロードしなくなりました(v2.1.323)
/homeが autofs マップの Linux で、起動時に/home自体のファイルを参照しなくなりました。/から 2 階層以上深い位置にあるマップのルートにはCLAUDE_CODE_AUTOMOUNT_ROOTSを設定します(v2.1.323)-p・SDK・IDE・クラウドのセッションで、Fable の上限に達したときのメッセージに、上限のリセット時刻と続行方法が表示されるようになりました(v2.1.323)CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MSの最大値が 64000 から 300000 に変更されました(v2.1.323)- 同じマシン上の各セッションがユーザーのプロンプトなしで他のセッションに送れるメッセージ数が、約 20 から 100,000 に変更されました(v2.1.323)
- このほか、
ToolSearchの応答、claude rmの表示文言、tool.listプラグインフックの適用範囲、デスクトップアプリの Code タブでのワークフローの扱いなどが変更されています。
セキュリティ(権限チェック・サンドボックス)
注目のアップデートで紹介したもの以外にも、権限チェックとサンドボックスに関する修正・変更が多数あります。主なものは次のとおりです。
- auto mode が使えないときの起動モードを修正: auto mode が利用できないとき、
--permission-mode autoや settings のdefaultMode: autoが、より多くの操作を許可しうるモードで起動する問題が修正されました。現在は事前に確認する Manual モードで起動します(v2.1.323) - セッション中に Bash サンドボックスがオフになる問題を修正: セッション中に Bash サンドボックスがオフになることがあるケースが修正されました(v2.1.323)
- sandbox.excludedCommands の適用範囲を修正:
sandbox.excludedCommandsが、指定していないコマンドをサンドボックス外で実行させるケースが修正されました(v2.1.323) - sudo のフラグを結合した許可ルールを修正:
sudoのフラグを結合して書いた Bash の許可ルールが、確認をスキップするケースが修正されました(v2.1.323) - zsh のシェルオプションによる確認のスキップを修正: 特定の非デフォルトのシェルオプションを設定した zsh で、Bash コマンドが確認なしで実行されるケースが修正されました(v2.1.323)
- plansDirectory でのプロジェクト外への書き込みを修正:
plansDirectoryを設定したときに plan ファイルがプロジェクト外に書き込まれることがある問題が修正されました。プロジェクト内に留まることを確認できない書き込みは拒否されます(v2.1.323) - Windows での確認のスキップと .cmd の実行を修正: ワイルドカードやファイルのリストを渡した一部のファイル読み取りコマンドが確認なしで実行される問題と、同じ PATH フォルダで
.exeの横にある.cmd・.batのラッパーを実行する問題が修正されました。現在はcmd.exeと同様に.exeを実行します(v2.1.323) - フックの応答後に権限チェックが失敗したときの扱いを変更:
PreToolUseフックが "allow" を返した後に権限チェックがエラーで失敗した場合は、フックが応答しなかったものとして判定します。PermissionRequestフックが書き換えた入力で権限チェックが失敗した場合は、再度確認するか、応答できる人がいなければ呼び出しを拒否します(v2.1.323) - 「don't ask again」で保存するルールを変更: シークレットを含むように見える許可ルールや、git が追跡している
settings.local.jsonに保存されることになる許可ルールは、そのセッション限りとなり保存されません(v2.1.323) - 変数の値に
*を含む許可ルールに警告を追加:Bash(PORT=* npm run dev)のように、変数の値に*を含む Bash の許可ルールに対して、起動時に警告が表示されます(v2.1.323) - MCP サーバーのサインインで確認を求めるよう変更: MCP サーバーのサインインを完了するために Claude が使うツールは、bypass・auto モードでも確認を求めます。
dontAskモードなど確認できない場合は/mcpを使います(v2.1.323) - このほか、
lsofや.git・.claudeへの書き込みに関する確認、サンドボックス内からのファイルチェックポイントの読み取り、シンボリックリンク経由のプロジェクト設定の読み込み、managed settings の読み取り失敗時のプロキシ・CA 設定、WebFetch でのポリシーの再確認、アーティファクト更新前の確認などの修正・変更も含まれています。
修正(主要なもの)
安定性・操作性に関わる修正を中心に抜粋します。
- 再開したセッションでのメッセージの結合を修正: 再開したセッションで、次に送るメッセージが、再開対象ではない過去の中断メッセージと結合される問題が修正されました(v2.1.323)
- 大きなファイルの変更後のメモリ急増を修正: Claude が非常に大きなファイルを変更した後、次のプロンプトでメモリ使用量が急増する問題が修正されました(v2.1.323)
- settings.json の手動編集が元に戻る問題を修正: 実行中のセッションで保存された設定が、直前に手で編集した
settings.jsonの内容を元に戻す問題が修正されました。セッション中に削除した設定ファイルは削除されたままになります(v2.1.323) - ストリーミングなしのリクエストの失敗を修正: ストリーミングなしのリクエストが、拒否された画像・thinking ブロック・ベータヘッダーなど、ストリーミング時には回復できるエラーで失敗する問題が修正されました(v2.1.323)
- バックグラウンドセッションのサインインの切り替わりを修正: 名前付きの Anthropic プロファイルや、シェルから渡した API キー・認証トークンを使うセッションが、バックグラウンドで別のサインインに切り替わる問題などが修正されました。プロファイルが見つからない場合などは、停止してその旨を表示します。アップデート中に開いていたセッションは開き直すよう案内されています(v2.1.323)
- MCP ツール呼び出しで再サインインを求めない問題を修正: MCP ツール呼び出しが
TOKEN_EXPIREDなどサインインサーバーのエラーで終わり、再サインインを求めない問題が修正されました(v2.1.323) - macOS の "Not logged in" の再表示を修正: キーチェーンの応答が遅いとき、
/loginの成功直後やトークン更新後に "Not logged in · Please run /login" が再表示される問題が修正されました(v2.1.323) - Amazon Bedrock のモデル拒否時のエラーメッセージを修正: Amazon Bedrock がアカウントにモデルの利用を拒否したとき、AWS 認証情報の更新ではなくモデルの有効化を案内するようになりました(v2.1.323)
- awsAuthRefresh・gcpAuthRefresh の二重実行を修正: 3 つ以上のセッションが同時に再サインインを必要としたとき、
awsAuthRefreshまたはgcpAuthRefreshのコマンドが 1 リクエストに対して 2 回実行されることがある問題が修正されました(v2.1.323) - ファイルの書き込みが "Read 1 file" と表示される問題を修正:
cat > file <<EOFでファイルを書き込む Bash コマンドが "Read 1 file" と表示される問題が修正されました(v2.1.323) - WebFetch の表の列ずれを修正: WebFetch が空のテーブルセルを落とし、後続の値が 1 列左にずれる問題が修正されました(v2.1.323)
- managed settings の読み落としを修正: 別のプログラムがファイルを書き換えている最中に、
managed-settings.json・managed-settings.dが起動時に読み落とされることがある問題が修正されました。起動時にもう一度読み込みます(v2.1.323) - settings.local.json がグローバルに無視されない問題を修正: フォルダが後から git リポジトリになった場合や新しいマシンで、
.claude/settings.local.jsonがグローバルに無視されない問題が修正されました(v2.1.323) - claude -p が別のモデルを使う問題を修正: 要求されたモデルが settings でブロックされているとき、テキスト出力の
claude -pが何も表示せずに別のモデルを使う問題が修正されました。stderr に警告が出力されます(v2.1.323) - OpenTelemetry のエクスポートの失敗を修正:
otlpエクスポーターにエンドポイントがありOTEL_EXPORTER_OTLP_PROTOCOLが無いとき、エクスポートが何も表示せずに失敗する問題が修正され、既定値はhttp/protobufになりました。プロキシ経由でコレクターに届くまで 10 秒を超えると失敗する問題も修正され、待ち時間は 25 秒になりました。OTEL_EXPORTER_OTLP_TIMEOUTで指定できる上限も以前の 30 秒から 25 秒になりました(v2.1.323) - 地味に嬉しい修正:
claude updateの完了直後に Ctrl+C を押すと、claudeコマンドが削除されるケースが修正されました(v2.1.323)。コマンドが消えると復旧に手間がかかるため、地味ですが安心感のある修正だと感じます。 - このほか、MCP サーバー・プラグインの読み込み、Remote Control、クラウドセッション、
/usageや使用量上限の表示、Windows 固有の動作など、多数の細かな不具合が修正されています。
破壊的変更・非推奨
破壊的変更・非推奨は 20 件です。環境変数の設定で対応する 2 件を設定例で示し、その後に全件を表にまとめます。
認識できないモデル ID の想定コンテキストウィンドウを 200K から 1M に変更(v2.1.323)
Claude Code が認識できないモデル ID に対して想定するコンテキストウィンドウが、200K から 1M に変わりました。モデル自体のコンテキストウィンドウが変わるわけではありません。早めにコンパクションするには /autocompact を、200K を維持するには CLAUDE_CODE_DISABLE_1M_CONTEXT=1 を使います。
コンテキストウィンドウが小さい他社モデルのセッションは、上限に達するとすべてのターンが /clear まで失敗することがあるため、上限に達する前に CLAUDE_CODE_DISABLE_1M_CONTEXT=1 を設定するよう案内されています。
以下は設定例です。
変更前(〜v2.1.322):
# 認識できないモデル ID では 200K を想定(設定不要)
claude
変更後(v2.1.323〜):
# 認識できないモデル ID では 1M を想定
# 200K を維持する場合は環境変数を設定
export CLAUDE_CODE_DISABLE_1M_CONTEXT=1
claude
組織の設定・ポリシーのリクエストで ALL_PROXY だけのプロキシ指定を使わないよう変更(v2.1.323)
組織の設定とポリシーのリクエストは、ALL_PROXY だけで設定したプロキシを使わなくなりました。これらのリクエストにプロキシが必要なネットワークでは HTTPS_PROXY を設定します。
以下は設定例です(proxy.example.com は例示用のホスト名です)。
変更前(〜v2.1.322):
# 組織の設定・ポリシーのリクエストも ALL_PROXY のプロキシを使用
export ALL_PROXY=http://proxy.example.com:8080
変更後(v2.1.323〜):
# 組織の設定・ポリシーのリクエストには HTTPS_PROXY が必要
export ALL_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
破壊的変更・非推奨の一覧
すべて v2.1.323 の変更です。
起動・モデル・ネットワーク
| 対象 | 変更前 | 変更後・必要な対応 |
|---|---|---|
| 認識できないモデル ID の想定コンテキストウィンドウ | 200K | 1M。200K を維持するには CLAUDE_CODE_DISABLE_1M_CONTEXT=1 |
| 組織の設定・ポリシーのリクエストのプロキシ | ALL_PROXY だけの指定を使用 |
使用しない。HTTPS_PROXY を設定 |
sandbox キーを含む不正な JSON の --settings |
起動を停止しない | 起動を停止(サンドボックスをオフにする指定でも停止) |
managed settings の policyHelper が使う環境変数 |
ユーザー設定や --settings のファイルから受け取る |
受け取らない。managed の env か起動元のシェルで設定 |
バックグラウンドセッションでの /logout |
効果がない | コンピューター上の全セッションをサインアウトし、保存済みの MCP ログインとプラグインのシークレットを削除して、セッションを終了 |
権限・サンドボックス
| 対象 | 変更前 | 変更後・必要な対応 |
|---|---|---|
| Bash サンドボックスでのシンボリックリンク経由の書き込み許可(macOS・Linux・WSL) | 書き込み可能なフォルダ内の、別の場所や存在しないパスを指すリンク経由の許可が有効 | 無視する。実パスに許可を与える |
サンドボックス内の git worktree add・move・remove(macOS・Linux) |
実行できる | 読み取り専用エラーで失敗。セッションを開始した worktree でもセッションに渡された worktree でもない場所でのコミットも、プロジェクト内であっても失敗 |
サンドボックス内の glab config set(--global・--host なし)と glab config edit --local |
実行できる | 読み取り専用エラーで失敗。サンドボックス外で実行 |
| Claude Code 自身の ripgrep と大半の内部 git コマンド | サインイントークンや API キーを渡して実行 | 大半を渡さずに実行。これらの git コマンド配下の認証ヘルパーやフックからは参照できない |
/security-review とスキルのインライン git コマンド |
/security-review は実行前に確認しない。インライン git コマンドは bare リポジトリの worktree などのフォルダでも停止しない |
/security-review は実行前に確認。bare リポジトリの worktree などのフォルダでは、インライン git コマンドを許可するまで停止(auto mode・bypass 以外) |
--trust-workspace false のセルフホストランナーと、未信頼フォルダの VS Code セッション |
リポジトリの設定でフックの無効化やプラグインの有効・無効を切り替えられる | 切り替えられない |
プラグイン・MCP
| 対象 | 変更前 | 変更後・必要な対応 |
|---|---|---|
subagentStatusLine 設定 |
利用できる | 削除。サブエージェントの行は常に既定の表示。このキーを含む設定ファイルはこれまでどおり読み込まれる |
プラグインの agent 設定 |
利用できる | 非推奨。引き続き適用されるが、起動時・claude plugin list・claude plugin validate で警告 |
MCP_SDK_GENERATION=v1 |
v1 の MCP クライアントで実行 | v1 クライアントは削除され、v2 の MCP クライアントを互換モード(より早い段階でのハンドシェイク、緩和した OAuth サインインチェック)で実行 |
プロジェクト(.mcp.json)の MCP サーバー承認 |
別の表記の承認エントリでも確認なし | サーバー名の完全一致で照合。別の表記の承認エントリは再度確認 |
| git サブモジュールが記録されたコミットにないマーケットプレイス・プラグイン | インストールできる | インストールが失敗 |
mod の engine.create に対する *・名前空間・否定のフック |
$ 名詞を追加・除外できる |
監視のみ。追加・除外するには engine.create を名前で指定してフック |
受け付ける形式以外で書いた engine.create フックの mod |
claude plugin validate が失敗しない |
claude plugin validate が失敗。インストール済みの mod は引き続き読み込まれる |
worktree
| 対象 | 変更前 | 変更後・必要な対応 |
|---|---|---|
.git フォルダがリンクか、ハードリンクを含むチェックアウト(git-new-workdir の構成や cp -al のコピーなど) |
worktree を作成できる | worktree の作成を拒否。通常のクローンを使う |
その他のプラットフォーム
CLI 本体以外の 46 件から、主なものを紹介します。
- VS Code 拡張: 信頼していないフォルダで最初のセッションを始める前に、Claude Code の信頼確認が表示されるようになりました。拒否すると、そのフォルダの設定と MCP サーバーは使われません。また、実行中の Bash・PowerShell コマンドのライブ出力が、チャットのコマンドカードの下に表示されます(v2.1.323)
- Claude Code on the web: スケジュールタスクが必要とするサンドボックスを実行先で利用できないときの失敗通知、セルフホスト環境の新規セッションでの No repository の選択肢、スケジュールタスクが一時停止することを示すセッション削除時の警告が追加されました。GitHub Enterprise Server からのプルリクエスト更新が github.com にリンクされる問題や、10 分を超える git clone・fetch が最後の段階で切断されることがある問題も修正されています(v2.1.323)
- Remote Control: セッションを実行しているコンピューターが Claude Code からサインアウトしているときのエラーに、Try again ボタンが追加されました(v2.1.323)
- Claude Tag: Enterprise プランで、Slack から開始した Claude Tag のセッションが Compliance API の対象になりました(ベータ)。セッションの一覧取得とトランスクリプトの読み取りができます。Activity ページの Network events タブには Scope フィルターが追加されました(v2.1.323)
- Code Review: 管理者設定に Download CSV ボタンが追加され、リポジトリごとのレビューコストを月・週・日単位でエクスポートできます(v2.1.323)
サンドボックス設定の検証失敗時の起動停止を試してみた
サンドボックスを有効にする --settings や SDK の設定が検証に失敗したとき、claude -p と Agent SDK がサンドボックスなしで Bash を実行する問題が修正されました。
v2.1.323 で、--settings に渡したサンドボックスの設定が検証に失敗したときと、sandbox キーを含む JSON が不正なときに、起動が止まるかを確認します。比較のため、sandbox キーを含まない不正な JSON も試します。
検証用に、作業用ディレクトリへ次の 3 つの JSON ファイルを用意しました。
| ファイル | 内容 |
|---|---|
sandbox-invalid-value.json |
sandbox.enabled は true。excludedCommands に配列ではなく文字列を指定 |
sandbox-broken-json.json |
sandbox.enabled は false。末尾に余分なカンマがあり、JSON として不正 |
nosandbox-broken-json.json |
sandbox キーなし。末尾に余分なカンマがあり、JSON として不正 |
以下のログでは検証用ファイルのフルパスを含む行を省略しています。
サンドボックスを有効にする設定が検証に失敗した場合
% cat sandbox-invalid-value.json
{"sandbox": {"enabled": true, "excludedCommands": "docker"}}
% claude -p --max-turns 1 --settings ./sandbox-invalid-value.json "OK とだけ返してください"
These settings files did not load, so nothing in them is in effect, including hooks and permission rules. Each loads again once the problem listed for it is fixed:
Error: sandbox required but unavailable: the settings passed with --settings or the SDK's settings option configure the sandbox but failed validation, so none of them apply (sandbox.excludedCommands: Expected array, but received string). Fix them and start again
Refusing to start without a working sandbox (see sandbox.failIfUnavailable).
% echo $?
1
起動時に Error: sandbox required but unavailable で停止し、OK の返答は出力されませんでした。エラーメッセージには、検証に失敗したキー(sandbox.excludedCommands)と理由(Expected array, but received string)が表示され、終了コードは 1 です。メッセージの最後では sandbox.failIfUnavailable という設定名が示されています。
sandbox キーを含む JSON が不正な場合
% cat sandbox-broken-json.json
{"sandbox": {"enabled": false},}
% claude -p --max-turns 1 --settings ./sandbox-broken-json.json "OK とだけ返してください"
These settings files did not load, so nothing in them is in effect, including hooks and permission rules. Each loads again once the problem listed for it is fixed:
Error: sandbox required but unavailable: the settings passed with --settings or the SDK's settings option configure the sandbox but failed validation, so none of them apply (Invalid or malformed JSON). Fix them and start again
Refusing to start without a working sandbox (see sandbox.failIfUnavailable).
% echo $?
1
"enabled": false とサンドボックスをオフにする指定であっても、同じエラーで起動を停止しました。理由は Invalid or malformed JSON と表示され、終了コードは 1 です。
sandbox キーを含まない JSON が不正な場合
% cat nosandbox-broken-json.json
{"model": "sonnet",}
% claude -p --max-turns 1 --settings ./nosandbox-broken-json.json "OK とだけ返してください"
These settings files did not load, so nothing in them is in effect, including hooks and permission rules. Each loads again once the problem listed for it is fixed:
OK
% echo $?
0
設定ファイルを読み込めなかった旨の警告は表示されましたが、処理は続き、OK が返って終了コードは 0 でした。省略した行には Invalid or malformed JSON と表示されています。今回の 3 ケースでは、起動が止まったのは sandbox キーを含む 2 ケースです。
検証に失敗したキー名と期待される型がエラーメッセージにそのまま出るため、原因の切り分けはわかりやすくなりそうです。サンドボックスを前提に自動化を組んでいる方にとっては、安心して --settings を使える変更です。
最後に
新機能としては、Claude がツール呼び出しを JavaScript で書く Code Mode が最も気になりました。2026-11-13 時点ではドキュメントを参照できませんでしたが、参照できるようになったら従来のツール呼び出しとの違いを試してみたいと考えています。あわせて、権限チェックとサンドボックスの修正がまとまって入ったことで、Claude Code に安心して任せられる範囲が広がったと感じます。
破壊的変更・非推奨の一覧で自分の環境に関係する項目がないかを確認したうえで、アップデートしてみてはいかがでしょうか。
参考文献







