Claude Codeのサンドボックスとは?/sandboxの設定手順

この記事の要点
- サンドボックスは、Claude が実行するシェルのコマンドが書き込める場所とつながれる先を、OSの仕組みで絞る機能
- 既定ではオフ。/sandbox で有効にし、確認なしで動かすか、ふつうの確認を残すかを選ぶ
- 囲いの対象はシェルのコマンドだけ。ファイル編集の道具・フック・MCPサーバーは権限設定で守る
AIにコマンドを実行させると、便利な反面、「作業フォルダの外を書き換えないか」「知らないサイトにデータを送らないか」が気になります。確認のたびに承認ボタンを押すのも大変です。そこで使えるのが、Claude Code の サンドボックス です。
この記事では、公式ドキュメント(2026年10月23日確認)にもとづいて、サンドボックスの仕組み・始め方・守れない範囲を、導入前のチェックリストつきでまとめます。
結論:コマンドの「囲い」をOSに任せて、確認を減らす
サンドボックスは、Claude が実行するシェルのコマンドに対して、書き込める場所とつながれる先をOSの仕組みで制限する 機能です。コマンドが別のプログラムを呼び出しても、その先まで同じ囲いがかかります。
囲いの中なら安全だと分かっているので、囲いの中のコマンドは確認なしで動かす という使い方ができます。確認の数を減らしつつ、外へのはみ出しは止める、というのがねらいです。
既定で何が制限されるか
| 対象 | 既定の動き | 広げる・狭める設定 |
|---|---|---|
| 書き込み | 作業フォルダ、自分用の一時フォルダ、追加したフォルダだけ | filesystem.allowWrite など |
| 読み込み | パソコンのほとんど(認証情報のファイルも含む) | filesystem.denyRead など |
| 通信 | 直接は外に出られない。許可したドメインだけ通す(最初は空) | network.allowedDomains |
| 環境変数 | Claude Code から引き継ぐ | 認証情報を渡さない設定 |
読み込みは既定でほとんど許されている点に注意します。鍵や認証情報のファイルを読ませたくない場合は、自分で読み込み禁止を設定 します。
始め方:/sandbox の3ステップ
macOS ではOSに組み込みの仕組みを使うので、追加のインストールは要りません。Linux と WSL2 では bubblewrap と socat を入れます。Windows では WSL2 の中で使います。
/sandboxを打つ:会話の中で打つと、設定の画面が開きます。- 動かし方を選ぶ:囲いの中のコマンドを 確認なしで動かす(auto-allow) か、ふつうの確認を残す かを選びます。選んだ内容は、そのプロジェクトの自分用の設定ファイルに保存されます。
- コマンドを実行させる:ビルドやテストを頼みます。新しいドメインへの通信が必要になると、初回に許可を聞かれます。
すべてのプロジェクトで使いたい場合は、設定ファイルで sandbox.enabled を true にします。
守れない範囲:ここは権限設定で
公式ドキュメントでは、サンドボックスが囲うのはシェルのコマンドだけ と明記されています。次のものは囲いの外で動きます。
- ファイル読み書きやWeb取得の道具:権限のルールで守ります。サンドボックスの読み込み禁止は、ファイルを読む道具には効きません。
- フック・ローカルのMCPサーバー・ステータスラインのコマンド など、Claude Code が起動するほかのプログラム
- 自分で
!から打ったコマンド(多くの場合) - 除外に登録したコマンドと、Claude が「囲いの外で実行してよいか」を聞いてきて許したもの
さらに、必要な仕組みが無くてサンドボックスが起動できないと、既定では囲いなしでコマンドが動きます。必ず囲いを効かせたいなら、sandbox.failIfUnavailable を true にして、起動できないときは止まるようにします。囲いの外での再実行も止めたい場合は allowUnsandboxedCommands を false にします。
道具ごとの許可・禁止は Claude Codeの権限設定入門、判定の仕組みに任せる方法は Claude Codeのオートモードとは? で解説しています。
効いているかの確かめ方
公式ドキュメントでは、Claude に 次の2つを実行させて確かめる方法が紹介されています(自分で ! から打つと囲いの外で動くので確認になりません)。
- ホームフォルダに空のファイルを作るコマンド → macOS では
Operation not permittedで失敗すれば効いています - プロキシを通さずに外のサイトへつなぐコマンド →
Could not resolve hostで失敗すれば効いています
Claude が「囲いの外で再実行してよいか」と聞いてきたら、ここでは断ります。
導入前のチェックリスト
- 読ませたくない場所 を決めて、読み込み禁止に入れたか
- 通信を許すドメイン は、仕事に必要なものだけか
- 起動できないときに止める 設定にするか決めたか
- ファイル編集の道具・フック・MCP は 権限設定で 守っているか
- 大事な変更の前に コミット してあるか(戻し方は Claude Codeの/rewindとは? も参考に)
よくある質問
サンドボックスがあれば権限設定はいらない?
いりません、とは言えません。囲うのはシェルのコマンドだけなので、ファイルを直接読み書きする道具や外部ツールは、権限設定と組み合わせて守ります。
Windows で使えますか?
Windows では、そのままだと囲いなしでコマンドが動きます。WSL2 の中で Claude Code を動かすと使えます。
まとめ
- サンドボックスは、シェルのコマンドの書き込み先と通信先を、OSの仕組みで絞る 機能
/sandboxで有効にし、囲いの中は確認なしで動かせる- 囲うのはコマンドだけ。ほかの道具は権限設定で、起動できないときの動きも先に決めておく
出典
この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。


