
Claude Codeの承認を減らしたい場合でも、最初から --dangerously-skip-permissions を常用するのは安全ではありません。プロジェクトごとに許可する操作を絞り、必要に応じてサンドボックスとAutoモードを使い分けると、確認の回数とリスクを両方抑えられます。
この記事では、公式ドキュメントで確認できる権限ルール、サンドボックス、Autoモード、--restricted を対象に安全な設定例を紹介します。機能の提供状況や画面はプラン・バージョンで異なるため、実行前に claude --version と claude --help で確認してください。
この記事で行うこと
permissions.allowとpermissions.denyで定型作業だけを許可する- サンドボックスを使うときの確認ポイントを把握する
- Autoモードと
--dangerously-skip-permissionsの違いを理解する - 外部リポジトリを扱うときに
--restrictedを使う
前提条件・対象読者
| 項目 | 内容 |
|---|---|
| 対象 | Claude Code CLI または Claude DesktopのCode機能 |
| 確認コマンド | claude --version、claude --help |
| 設定ファイル | プロジェクトの .claude/settings.json、またはユーザー設定 |
| 注意点 | Autoモードの利用可否は契約プラン、モデル、組織ポリシーに依存します |
| 最終確認日 | 2026年10月 |
1. 目的別:どの権限機能を使うべきか
| 目的 | 推奨する方法 | ポイント |
|---|---|---|
git status やテストだけを毎回許可したい | permissions.allow | 実行してよいコマンドを個別に列挙します |
| 秘密情報の読み取りや危険なコマンドを止めたい | permissions.deny | 許可設定よりも先に、禁止したい操作を明示します |
| 隔離環境でBashを実行したい | /sandbox | 利用可能なOS・環境でのみ有効化し、隔離範囲を確認します |
| 確認を減らしながら安全チェックを残したい | --permission-mode auto | 利用可能なプラン・モデルではAutoモードを選択できます |
| 信頼できないリポジトリを調査したい | claude --restricted | プロジェクト設定の影響を抑え、組み込みツールも制限します |
2. 手順1:許可する定型コマンドを最小限にする
最初に、実際に毎回実行している読み取り・検証コマンドだけをプロジェクト設定へ追加します。広いワイルドカードや、削除・公開操作を含むコマンドは許可リストへ入れません。
プロジェクト直下に .claude/settings.json を作成し、次のように記述します。
{
"permissions": {
"allow": [
"Bash(git status)",
"Bash(git diff *)",
"Bash(git log *)",
"Bash(npm test)",
"Bash(pytest *)"
],
"deny": [
"Read(.env)",
"Read(.env.*)",
"Read(~/.ssh/**)",
"Read(~/.aws/**)",
"Bash(rm -rf *)",
"Bash(git push --force *)"
]
}
}
permissions.allow は便利ですが、許可したコマンドの引数や実行場所まで含めて見直す必要があります。まずは狭く始め、実際に必要になった安全な操作だけを追加する運用がおすすめです。
3. 手順2:Sandboxを有効にする前に確認すること
Claude Codeでは、対応環境で /sandbox を使ってBash実行を隔離できます。サンドボックスは承認を不要にするための万能な設定ではなく、ホストへのアクセス範囲を制約する安全対策です。
対話セッションで利用できるかを確認するには、以下を実行します。
/sandbox
有効化できた場合でも、プロジェクト内の .env、SSH鍵、クラウド認証情報を「読ませない」設定は別途必要です。Bashへの制限だけでClaude Codeのすべてのファイル操作を防げるとは限りません。秘密情報は作業ディレクトリに置かない、permissions.deny を設定する、必要なら専用のVMやコンテナで実行する、といった対策を併用してください。
サンドボックスの利用可否、隔離範囲、依存コンポーネントはOSとClaude Codeのバージョンで異なります。LinuxやWSLで追加パッケージを導入する前に、Claude Codeの画面または公式ドキュメントに表示される案内を確認してください。
4. 手順3:Autoモードを使える環境で有効にする
Autoモードは、Claude Codeが依頼内容との整合性を安全チェックしながら、承認プロンプトを減らすためのモードです。すべての操作を無条件に許可するモードではありません。利用できるプラン・モデルでは、CLI起動時に指定できます。
claude --permission-mode auto
CLIの権限モードには default、acceptEdits、plan、auto、dontAsk、bypassPermissions などがあります。環境によって表示される名称や利用可能な項目が異なるため、claude --help を正としてください。
Autoモードが使えない、または判断をより明確にしたい場合は、permissions.allow と permissions.deny を用いる方が再現性の高い運用になります。組織管理下では、管理者がAutoモードやBypass permissionsを無効化している場合もあります。
5. 手順4:外部リポジトリは--restrictedで開く
未知のリポジトリには、設定ファイルやスクリプトに悪意ある指示が含まれる可能性があります。調査目的で開く場合は、別ディレクトリにクローンし、--restricted を付けて開始します。
claude --restricted -p "このリポジトリの構成を説明してください。ファイルは変更しないでください。"
公式CLIリファレンスによると、--restricted ではコマンド実行・コード実行・WebFetchなどの組み込みツールが既定で外れます。必要なツールを明示しない限り、作業ディレクトリ外のファイルツールも制限され、プロジェクト設定ではなく管理設定と --settings が対象になります。これは解析の安全性を高めますが、通常の開発作業には制約が強すぎる場合があります。
6. 避けたい設定
--dangerously-skip-permissions を通常開発で使う
claude --dangerously-skip-permissions
このオプションは権限確認を飛ばします。公式ドキュメントでも、隔離されたコンテナやVM以外での使用には注意が必要とされています。ローカルPCや認証情報を持つ開発環境での常用は避けてください。
permissions.allow に広すぎる許可を入れる
次のように広範囲なシェル実行を許可すると、設定の意味が薄れます。
{
"permissions": {
"allow": ["Bash(*)"]
}
}
許可リストには、目的と危険性を説明できる定型コマンドだけを登録します。デプロイ、削除、強制push、認証情報を扱う操作は都度確認に残すのが安全です。
よくある質問
Claude Codeの承認を完全になくせますか?
可能なモードはありますが、ローカル環境での常用はおすすめしません。定型コマンドは permissions.allow、危険な操作は permissions.deny、外部コードは --restricted と分ける方が安全です。
AutoモードとacceptEditsの違いは何ですか?
acceptEdits は主にファイル編集を自動承認し、その他の操作は確認を残すモードです。Autoモードは依頼内容との整合性を確認しながら、より広くプロンプトを減らすモードです。利用条件は公式の権限モード説明を確認してください。
.envはサンドボックスだけで守れますか?
いいえ。秘密情報を作業場所から分離し、permissions.deny を設定し、必要であれば認証情報を持たない専用環境で作業することが重要です。
まとめ
Claude Codeの承認を減らすときは、まず狭い permissions.allow から始めます。秘密情報や破壊的操作は permissions.deny で明示し、サンドボックスとAutoモードは利用条件・隔離範囲を確認して使い分けてください。外部リポジトリの調査には --restricted が適しています。
次に読むおすすめ記事
生成AIの最新モデル比較やAIエージェント、コーディング支援ツールの活用法を体系的に確認したい方は、以下のハブ記事も参考にしてください。


