Claude Code の --dangerously-skip-permissions は快適ですが、ファイル破損が怖くて使えない人も多いのではないでしょうか。
cco を使えば macOS のサンドボックス機能でアクセス制限をかけられます。意図しないファイル変更を防ぎつつ、承認スキップで作業できます。
筆者は macOS を使用しているため、本記事は macOS での挙動に限定しています。Linux では bubblewrap、Docker も利用可能です。
cco とは
cco は Claude Code をサンドボックス内で実行するラッパーツールです。macOS では sandbox-exec を使用し、書き込み可能な領域を制限します。
デフォルトでは起動時のカレントディレクトリと ~/.claude/ のみ書き込み可能です。それ以外への書き込みはブロックされます。
インストール
curl -fsSL https://raw.githubusercontent.com/nikvdp/cco/master/install.sh | bash
基本的な使い方
claude の代わりに cco を使うだけです。
# 通常の使い方
cco "このコードをリファクタリングして"
# セッション再開
cco --resume
cco 経由で起動すると --dangerously-skip-permissions が自動で付与されます。
アクセス制御の設定
--add-dir で書き込み可能領域を追加、--deny-path でアクセス拒否領域を設定できます。
--add-dir:書き込みを許可する領域
パッケージマネージャやツールがキャッシュを書き込む領域を許可します。
| カテゴリ | パス | 用途 |
|---|---|---|
| キャッシュ |
~/.cache, ~/.local/share
|
各種ツールのキャッシュ |
| パッケージマネージャ |
~/.bun, ~/.npm, ~/.cargo, ~/go
|
パッケージインストール |
| ツール設定 |
~/.docker, ~/.serena
|
MCP サーバー等の設定ファイル |
| システム |
/tmp, /var/folders
|
一時ファイル |
--deny-path:アクセスを拒否する領域
作業中のプロジェクト以外への誤書き込みを防ぎます。
| パス | 理由 |
|---|---|
~/Documents, ~/Downloads
|
個人ファイルの保護 |
複数指定の例
cco \
--add-dir ~/.cache \
--add-dir ~/.bun \
# ... 必要なディレクトリを追加
--deny-path ~/Documents \
"テストを追加して"
まとめ
- cco で macOS の
sandbox-execを活用したアクセス制限が可能 -
--add-dirと--deny-pathで細かく制御 - 意図しないファイル破損を防ぎつつ、承認スキップで作業できる