YOLOモードの問題
Claude Codeには「YOLOモード(--dangerously-skip-permissions)」と呼ばれる機能があります。確認なしでコマンドを実行してくれるので、作業効率が段違いになります。
一方で、名前の通り危険な機能でもあります。
ネットで「Claude Codeにホームディレクトリを消された」という報告を見たことがある人も多いのではないでしょうか。自作のスマホからClaude Codeを操作するツールPockodeでYOLOモードをサポートしたのですが、自分のPC上でそのまま動かすのはやはり怖いものがありました。
そこでDockerによる隔離を検討していたところ、まさにこの用途のために設計された機能が最近追加されていました。
Docker Sandboxes
Docker Desktop 4.50で追加された実験的機能です。リリース日は2025年11月6日なので、まだ出来立てほやほやですね。
使い方は驚くほどシンプルです。
docker sandbox run claude
これだけ。Claude Codeが隔離されたDocker環境の中で起動します。
カレントディレクトリは自動的にマウントされるので、すぐに作業を開始できます。そしてこの機能はYOLOモード前提で設計されているため、デフォルトで自動承認モードがオンになっています。
オプションもそのまま使えます。-cで前回の会話を継続することも可能です。
docker sandbox run claude -c
認証について
認証はホストとは別に、sandbox内で行う必要があります。sandboxごとに行う必要があるところが、少し面倒です。
~/.gitconfigや~/.sshを引き継ぎたい場合は--credentials hostオプションが使えます。
docker sandbox run --credentials host claude
注意点として、これはClaude Code自体の認証を引き継ぐわけではありません。あくまでGitやSSHなどの設定です。~/.sshをマウントするかどうかは好みが分かれるところでしょう。
主なオプション
| オプション | 説明 |
|---|---|
--credentials string |
認証情報の取得元。host / sandbox / noneから選択。デフォルトはsandbox
|
-d, --detached |
対話的に起動せず、sandboxのみ作成 |
-e, --env strings |
環境変数を設定。KEY=VALUE形式 |
--mount-docker-socket |
ホストのDockerソケットをマウント |
--name string |
sandbox名を指定 |
-v, --volume strings |
ボリュームをマウント。hostpath:sandboxpath[:readonly]形式 |
-w, --workspace string |
ワークスペースのパス。デフォルトはカレントディレクトリ |
安全性について
Docker SandboxesはAIエージェントのための専用の仕組みであり、単なるDockerコンテナよりも安全な仕組みになっています。
とはいえ安全性でいうと、完全にVMに隔離することや、専用のマシンを用意ことには劣るでしょう。
--credentials=hostを使うと~/.sshなどもマウントされる点も、気になる人はいるでしょう。
ただ、現実的な落とし所としては十分ではないでしょうか。少なくとも「うっかりホームディレクトリを消された」という事故は防げます。
まとめ
YOLOモード(--dangerously-skip-permissions)は便利だけど怖い。Docker Sandboxesを使えば、その便利さを享受しつつホスト環境を守れます。
docker sandbox run claude
YOLOモードに興味はあるけど怖くて使えなかった方は、ぜひ。
宣伝: スマホから自宅PC上のClaudeCodeで開発できるPockodeを作っています。