できること
コマンドを OS で隔離
Claude が実行するシェルコマンドを、OS が強制する境界の内側で動かせます。制限は Bash・PowerShell・Monitor のコマンドと、それらが起動するプロセスに及びます。
接続先ドメインの制御
サンドボックスのプロキシが各接続のホスト名を許可・拒否のドメインと照合します。user・managed・CLI の --settings の設定で strictAllowlist を true にすると、Claude Code はサンドボックス化されたコマンドから許可リスト外のホストへの接続を、確認を出さずに拒否します。
認証情報の保護
sandbox.credentials で、サンドボックス化されたコマンドから守る認証情報ファイルと環境変数を指定できます。環境変数をマスクした場合、コマンドとそのログは実際の値を持たず、リクエストの認証は通ります。
機能解説
概要
コマンドがアクセスできるファイルとネットワークのドメインを利用者が設定し、その制限は Bash・PowerShell・Monitor のコマンドと、それらが起動するプロセスに適用されます。対象はシェルコマンドだけで、サンドボックスは既定ではオフです。
sandbox は、Claude が実行するシェルコマンドに対して、OS が強制する境界を設ける機能です。対象はシェルコマンドだけで、既定ではオフです。親セッションでサンドボックスが有効な場合、サブエージェント内の Bash コマンドもサンドボックス化されます。
モードは 2 つあり、どちらもファイルシステムとネットワークに同じ制限をかけます。違いは承認の扱いだけです。
- auto-allow:サンドボックス内で実行されるコマンドを、確認なしで自動承認します。
- regular permissions:サンドボックス化されていても、すべての Bash コマンドが通常の許可フローを通ります。
プラットフォームがサンドボックスに対応していない場合や、起動時の依存関係チェックが失敗した場合、既定ではサンドボックスなしでコマンドを実行します。
制限の範囲と例外
ファイル
- 既定では、サンドボックス化されたコマンドは一部の拒否されたディレクトリを除き、コンピューター全体を読み取れます。
- 書き込み可能なディレクトリの中でも、Claude Code が設定やコードを読み込むファイルへの書き込みは拒否します。
kubectl・terraform・npmなどが既定の書き込み可能ディレクトリの外に書き込む必要があるときは、sandbox.filesystem.allowWriteで特定のパスへのアクセスを与えます。sandbox.filesystem.disabledをtrueにすると、ネットワークの分離を残したままファイルシステムの分離を省略します。
ネットワーク
Claude Code はサンドボックスのプロキシをマシン上のサンドボックス外で動かし、HTTP_PROXY・HTTPS_PROXY・ALL_PROXY などの環境変数でコマンドをそこへ向けます。sandbox.network.deniedDomains を使うと、より広い allowedDomains のワイルドカードで許可される場合でも特定のドメインをブロックできます。
サンドボックス外での実行
sandbox.excludedCommandsに挙げたパターンに一致するコマンドは、ファイルシステムの制限もネットワークプロキシも無いサンドボックス外で実行されます。- サンドボックス内でコマンドが失敗すると、Claude が失敗を分析し、
dangerouslyDisableSandboxパラメーター付きで再実行する場合があります。サンドボックス設定で"allowUnsandboxedCommands": falseにするとこの再実行を無効にでき、Claude Code はdangerouslyDisableSandboxパラメーターを無視します。 !の bash モードで入力したコマンドは、strict sandbox mode (sandbox.allowUnsandboxedCommands: false) が有効でも、自分のターミナルに入力したときと同じくサンドボックス外で実行されます。
認証情報の保護
sandbox.credentials は、サンドボックス化されたコマンドから守る認証情報ファイルと環境変数を宣言する設定です。環境変数をマスクすると、コマンドとそのログは実際の認証情報を持たず、リクエストの認証は通ります。
- Linux と WSL では、認証情報ファイルに
mode: "mask"を指定できます。コマンドは代わりの値を入れた写し (ファイル全体、または extract の正規表現で取り出した部分) を読み、送信時にサンドボックスのプロキシが実際の値に置き換えます。macOS では、ファイルのマスキングは deny にフォールバックします。 - 構造化された環境変数向けの
extractとonExtractNoMatch、JWT を考慮したマスキング (decode: "jwt"とmaskClaims)、AWS SigV4 の再署名 (awsPairs/sigv4) のオプションがあります。これらはnetwork.tlsTerminateが必要で、user・managed・--settingsの設定からのみ有効です。
提供状況と導入時に確認したい点
対象プランについては、公式のリリースノートには記載がありません。
Ubuntu/Debian では sudo apt-get install bubblewrap socat で依存パッケージを入れます。依存関係のチェックは起動時に行われるため、インストール後に Claude Code を再起動すると /sandbox が検出します。Linux/WSL では、管理設定 sandbox.bwrapPath と sandbox.socatPath で bubblewrap と socat のバイナリの場所を指定できます。VS Code では、パネルメニューまたは /sandbox で Sandbox (サンドボックス) ダイアログを開き、サンドボックスモード・非サンドボックスのフォールバック・除外コマンドを扱えます。
組織で導入する際の確認点は次のとおりです。
- 管理者は、全ユーザーにサンドボックスを必須にし、開発者がポリシーを広げるのを防ぎ、サンドボックスの通信を社内プロキシ経由にできます。
- 自社のツールで通信を検査・フィルタ・記録するために、組み込みのプロキシを同じマシン上で動かす独自のプロキシに置き換えられます。
- プロジェクト設定では、管理者が必須とするサンドボックスを広げたり無効にしたりできず、管理された拒否リストの背後のプロキシの置き換え、strict allowlist の拡張、管理された読み取り拒否の再開放もできません。
sandbox.ripgrepは user・managed・--settingsの設定からのみ有効で、プロジェクト設定からサンドボックスの ripgrep バイナリを上書きできません。- サンドボックスの TLS の終端、独自プロキシ経由のルーティング、認証情報の注入、分離の弱化を行うサーバー管理設定は、適用前に承認が必要です。
sandbox.allowNestedUserNamespacesは Linux でコマンドがユーザー名前空間を作れるようにする設定で、有効にするとコマンドがサンドボックスのファイル保護を回避できる状態になります。
使い方
以下は、セッションでサンドボックスを有効にして使う基本の流れです。
- Claude Code のセッションを開始し、
/sandboxコマンドを実行します。 - Mode (モード) タブで、auto-allow か regular permissions のどちらかを選びます。
- ビルドやテストスイートなど、コマンドの実行を Claude に依頼します。
利用シーン
ビルドやテストスイートの実行を Claude に任せる際に、書き込み先と接続先を絞っておく場面に向いています。
API キーなどを環境変数に置いた開発環境で、コマンドやログに実際の値を持たせずに認証付きリクエストを通したい場面に使えます。
組織全体でサンドボックスを必須にし、通信を社内プロキシ経由にそろえたい管理の場面に向いています。
許可リスト外のホストへの接続を、確認を出さずに一律に拒否したい場面に使えます。
ChatGPT・OpenAI の対応する機能
比較の単位となる業務: コーディングエージェントが実行するコマンドのサンドボックス隔離 (ファイル・ネットワーク・認証情報へのアクセス制限)
対応する機能の Sandbox では、Windows での実行とサンドボックスの信頼性が改善され、その内容に exec-server のネイティブなサンドボックス化やネットワークプロキシの強制が含まれます。Claude Code の sandbox は、サンドボックスのプロキシをマシン上のサンドボックス外で動かし、各接続のホスト名を許可・拒否のドメインと照合する仕組みです。
承認との関係では、Sandbox 側は Auto-review とサンドボックス境界の関係を説明するドキュメントを更新しています。Claude Code の sandbox は、auto-allow モードでサンドボックス内のコマンドを確認なしで自動承認し、regular permissions モードではサンドボックス内でも通常の許可フローを通します。
これまでの変更
sandbox.allowNestedUserNamespacesが追加されました。/sandboxのモードの表記が「Sandbox BashTool」から「Sandbox commands」に変わりました。効果のなかったclaude remote-controlの--sandboxと--no-sandboxフラグが削除され、セッションのサンドボックス化には設定のsandbox.enabledを使います。プロジェクト設定から、管理者が必須とするサンドボックスを広げたり無効にしたりできなくなりました。
VS Code に Sandbox ダイアログが追加されました。
!の bash モードで入力したコマンドが、strict sandbox mode でもサンドボックス外で実行されるようになりました。TLS の終端や分離の弱化などを行うサーバー管理設定に、適用前の承認が必要になりました。
macOS で、ワイルドカードの読み取り拒否ルール (例:
**/.env) が許可された読み取り領域内でも優先されるようになりました。sandbox.ripgrepが user・managed・--settingsの設定からのみ有効になりました。認証情報マスキングのオプション (extract/onExtractNoMatch、JWT 対応、AWS SigV4 再署名) と、Linux・WSL での認証情報ファイルの
mode: "mask"が追加されました。sandbox.network.strictAllowlistとsandbox.filesystem.disabledが追加されました。ネットワーク許可ダイアログで「Yes」で許可したホストがセッション中記憶されるようになり、
sandbox.credentials設定が追加されました。macOS で Apple Events の送信を許すオプトイン設定
sandbox.allowAppleEventsが追加されました。起動バナーが削除され、サンドボックスの状態は
/statusとコマンドがブロックされたときに表示されます。管理設定
sandbox.bwrapPathとsandbox.socatPathが追加されました。サンドボックスの自動許可が、
/や$HOMEなどの重要ディレクトリを対象とする rm/rmdir の危険パス安全チェックを迂回しなくなりました。sandbox.network.deniedDomains設定が追加されました。CLAUDE_CODE_SUBPROCESS_ENV_SCRUBが設定されている場合の、Linux での PID 名前空間分離によるサブプロセスのサンドボックス化が追加されました。auto モードと bypass-permissions モードでネットワークアクセスの確認が自動承認され、macOS でsandbox.network.allowMachLookupが有効に機能するようになりました。Linux サンドボックスが npm 版とネイティブ版の両方で apply-seccomp ヘルパーを同梱し、サンドボックス化されたコマンドの unix-socket ブロックが復元されました。
出典
出典 21 件を表示
- Claude Code のリリース (2026-04-04)
- Claude Code のリリース (2026-04-10)
- Claude Code のリリース (2026-04-18)
- Claude Code のリリース (2026-04-23)
- Claude Code のリリース (2026-05-09)
- ChatGPT・Codex のリリースノート (2026-05-11)
- Claude Code のリリース (2026-05-31)
- Claude Code のリリース (2026-06-20)
- Claude Code のリリース (2026-06-26)
- ChatGPT・Codex のリリースノート (2026-07-21)
- Claude Code のリリース (2026-07-25)
- Claude Code のリリース (2026-08-08)
- Claude Code のリリース (2026-08-14)
- Claude Code のリリース (2026-08-23)
- Claude Code のリリース (2026-08-28)
- Claude Code のリリース (2026-09-06)
- Claude Code のリリース (2026-09-25)
- Claude Code のリリース (2026-10-03)
- Claude Code のリリース (2026-10-18)
- Claude Code のリリース (2026-10-23)
- 公式ヘルプ