# Claude Codeの機能と実践的な使い方
🔒 「どこまで自律的に動かすか」を細かく制御できる。信頼できない調査は読み取り専用、信頼環境では自動承認と、安全と効率を両立する仕組みです。
📌 タイトルと機能のURL
タイトル: 権限 / サンドボックス
URL:
📝 概要
Claude Codeは、エージェントが何をできて何をできないかを正確に指定できる、きめ細かい権限システムを備えています。allow/ask/denyのルールと権限モードを組み合わせ、設定はバージョン管理に含めてチーム全体へ配布できます。さらにサンドボックスでOSレベルの隔離も可能です。
🔧 機能の説明
・読み取り専用ツール(ファイル読み込みやGrep)は承認不要、Bashコマンドやファイル編集は承認が必要、という階層型の権限制御です。
・ルールは「deny → ask → allow」の順で評価され、最初に一致したものが結果を決めます。denyはどのスコープにあっても最優先で、allowで上書きできません。
・権限モードはdefault / acceptEdits / plan / auto / dontAsk / bypassPermissionsがあります。planは読み取りと読み取り専用コマンドのみ、bypassPermissionsはほぼ全許可で危険です。
・権限ルールはモデルではなくClaude Codeが強制します。CLAUDE.mdの指示は「何を試みるか」を変えても「何を許可するか」は変えません。
🛠 実践的な使い方
・セッション中は「/permissions」で全ルールと出所のsettings.jsonを確認・編集できます。
・ルール構文は「Tool」または「Tool(specifier)」です。例: Bash(npm run build) / Read(./.env) / WebFetch(domain:
・settings.jsonのpermissions.allow / deny 配列に記述します。例: allowに「Bash(npm run *)」、denyに「Bash(git push *)」「Read(./.env)」。
・読み取り専用で調査したいときはplanモードを使うか、denyに「Edit」「Write」を入れ、Bashを絞ります。サブエージェントはAgent(Explore)等で制御します。
・追加ディレクトリへのアクセスは「--add-dir」や「/add-dir」、永続化はadditionalDirectoriesで付与します。
🎯 ユースケース
・信頼できないリポジトリの調査時はplanモードで、ソースを書き換えずに構造把握だけ行う。
・チーム共有の.claude/settings.jsonに安全なallow/denyを定義し、全員に同じガードレールを配布する。
・コンテナやVM内ではbypassPermissionsで承認をスキップし、CIや一括作業を高速化する。
・サンドボックスの
⚠️ 注意点
・bypassPermissionsは.gitや.claude等への書き込みも承認をスキップするため、隔離環境でのみ使用してください(rm -rf / 等はサーキットブレーカーで停止)。
・curlのURLを引数で縛る権限パターンは脆弱です。Bashネットワークツールをdenyし、WebFetch(domain:...)で許可ドメインを指定する方が確実です。
・Read/Edit のdenyは組み込みファイルツールと認識可能なBashコマンドにのみ効き、Python等のスクリプトが直接開くファイルには及びません。全プロセスを縛るならサンドボックスを使います。
・managed settingsは他のどのスコープからも上書きできません。組織方針はここで強制します。
#
ClaudeCode# #
DevTools#