AIまとめ
Claude Code›機能ガイド›パーミッション・セキュリティ
🔐

パーミッション・セキュリティ

Claudeが実行できるツールや操作を許可リスト・拒否リストで細かく制御する。サンドボックスモードでファイルシステムやネットワークへのアクセスを分離し、安全な実行環境を構築できる。

コマンド・設定オプション57件

この機能に関連するスラッシュコマンド・CLIオプション・設定項目の一覧です。

スラッシュコマンド

Claude Code のインタラクティブセッション内で / から始めて入力するコマンド。

権限・セキュリティ

/ slash

/fewer-permission-prompts

過去の会話ログをスキャンして頻繁に使われる読み取り専用BashコマンドとMCPツールを検出し、プロジェクトの `.claude/settings.json` に優先度付きの許可リストを追加して権限プロンプトを削減する組み込みスキル。

例:/fewer-permission-prompts
/ slash

/permissions

ツール権限のallow・ask・denyルールをインタラクティブに管理する。スコープ別のルール一覧・追加・削除・作業ディレクトリ管理・auto modeの最近の拒否履歴確認ができる。`/allowed-tools` でも起動可能。

例:/permissions

サンドボックス

CLIオプション

`claude` コマンドをターミナルから起動する際に渡すオプション。

権限・セキュリティ

-- cli

--add-dir

Claudeがアクセスできる追加の作業ディレクトリを指定する。複数指定可能。各パスは実際に存在するディレクトリであることが検証される。

例:claude --add-dir ../apps ../lib
-- cli

claude auto-mode config

設定を適用した後にclassifierが実際に使用するルールをJSON形式で表示する。`$defaults` を展開して確認できる。設定保存後に有効なルールを確認するために使用する。

例:claude auto-mode config
-- cli

--permission-prompts

非対話モード(`-p`)でパーミッションプロンプトの回答者を指定する。`host`はホスト側が判断、`none`は常に拒否する。

例:claude -p --permission-prompts none "リファクタリングして"
関連記事
関連記事なし

設定オプション

`claude config set <key> <value>` または `~/.claude/settings.json` で設定する項目。

権限・セキュリティ

config

permissions.skipDangerousModePermissionPrompt

`--dangerously-skip-permissions` または `defaultMode: "bypassPermissions"` でbypassPermissionsモードに入る前に表示される確認プロンプトをスキップする。プロジェクト設定(`.claude/settings.json`)での設定は無視される(信頼できないリポジトリからの自動バイパス防止のため)。

例:~/.claude/settings.json: {"permissions": {"skipDangerousModePermissionPrompt": true}}
config

autoMode

auto modeのclassifierに組織のインフラ情報を提供する設定ブロック。`environment`(信頼するリポジトリ・バケット・ドメイン)・`allow`(例外ルール)・`soft_deny`(ブロックルール)を設定する。

例:~/.claude/settings.json: {"autoMode": {"environment": ["Source control: github.example.com/acme-corp"]}}
config

permissions.disableAutoMode

autoモードを無効化する。`"disable"` に設定するとauto modeが使用できなくなる。`permissions.disableBypassPermissionsMode` と同様に任意のスコープで設定可能。

例:~/.claude/settings.json: {"permissions": {"disableAutoMode": "disable"}}
config

skipWebFetchPreflight

WebFetchツールがドメイン安全性チェック(プリフライト確認)をスキップする。社内プロキシや特定環境でWebFetchが誤ってブロックされる場合に設定する。

例:~/.claude/settings.json: {"skipWebFetchPreflight": true}
config

forceLoginOrgUUID

ログインを特定の組織に限定する。単一UUIDで特定組織のみ許可(ログイン時に事前選択)、UUID配列でいずれかの組織のログインを許可。Managed設定で設定した場合、リスト外の組織アカウントはログイン失敗となる。

例:managed-settings.json: {"forceLoginOrgUUID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}
config

forceRemoteSettingsRefresh

(Managed設定専用)CLIの起動をブロックし、サーバーからリモート管理設定を新鮮にフェッチするまで待機する。フェッチに失敗した場合、CLIはキャッシュを使わず終了する。フェールクローズドの起動強制に使用。

例:managed-settings.json: {"forceRemoteSettingsRefresh": true}
config

parentSettingsBehavior

(Managed設定専用・v2.1.133以降)SDKの `managedSettings` とadmin tierの設定が相互にどう作用するかを設定する。SDKからadminポリシーのマージをオプトインする場合に使用。

例:managed-settings.json: {"parentSettingsBehavior": "merge"}
config

policyHelper

(Managed設定専用・v2.1.136以降)起動時に実行してManaged設定を動的に計算する実行ファイルを指定する。ユーザー属性や環境に応じて異なるポリシーを適用する場合に使用。

例:managed-settings.json: {"policyHelper": "/usr/local/bin/compute-policy"}
config

useAutoModeDuringPlan

autoモードが利用可能な場合に、プランモードがautoモードのセマンティクスを使用するかどうかを設定する。デフォルト: `true`。プロジェクト設定(shared)からは読み込まれない。`/config` に「Use auto mode during plan」として表示される。

例:~/.claude/settings.json: {"useAutoModeDuringPlan": false}
config

disableAutoMode

`"disable"` に設定するとautoモードが無効化される。Shift+TabサイクルからAutoが削除され、`--permission-mode auto` も起動時に拒否される。`permissions.disableAutoMode` と同様の効果だが、トップレベルキーとして設定する。

例:~/.claude/settings.json: {"disableAutoMode": "disable"}
config

CLAUDE_CODE_SUBPROCESS_ENV_SCRUB

サブプロセス(Bash・フック・MCPサーバー)の環境からAnthropic・クラウドプロバイダー認証情報を削除する。プロンプトインジェクション攻撃による秘密情報の流出を防止できる。Linuxでは副作用として `ps`・`pgrep`・`kill` が制限される。

例:export CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1
config

CLAUDE_CODE_PERFORCE_MODE

Perforce(P4)との互換性のある書き込み保護を有効化する。Perforceが管理するファイルへの書き込みをClaudeが行う前に、Perforceのチェックアウト操作が必要になる。

例:export CLAUDE_CODE_PERFORCE_MODE=1
config

autoMode.hard_deny

autoモードのclassifierで無条件にブロックするルールを設定する。`allow` 例外ルールがあっても例外なく拒否する。絶対に自動実行すべきでないアクションに使用する。

例:~/.claude/settings.json: {"autoMode": {"hard_deny": ["Bash(curl *)"]}}
config

CLAUDE_CODE_ENABLE_AUTO_MODE

Bedrock・Vertex・Foundryなどの外部プロバイダーでautoモードを有効化する(v2.1.158以降)。`1` に設定するとShift+Tabサイクルにautoモードが追加される。対象はOpus 4.7以降。

例:export CLAUDE_CODE_ENABLE_AUTO_MODE=1
config

forceLoginGatewayUrl

(Managed設定専用)`/login` のCloud gateway画面でゲートウェイURLを事前入力しロックする。`forceLoginMethod: "gateway"` と組み合わせて使用する。

例:managed-settings.json: {"forceLoginGatewayUrl": "https://gateway.example.com"}
config

gatewayInternalNetworks

組織が内部利用するパブリックIPv4空間上のクラウドゲートウェイに`/login`が到達できるようにする設定。プライベートアドレス以外の社内ネットワークにゲートウェイを置く場合に使用。

例:managed-settings.json: {"gatewayInternalNetworks": ["203.0.113.0/24"]}
config

autoMode.classifyAllShell

auto mode有効時にBash/PowerShellコマンドをすべてclassifier経由でルーティングするかどうかを設定する(デフォルト: `false`)。

例:~/.claude/settings.json: {"autoMode": {"classifyAllShell": true}}
config

disableSideloadFlags

(Managed設定専用)`--plugin-dir`・`--plugin-url`・`--agents`・`--mcp-config` CLIフラグの使用を拒否する。未承認コードやMCPサーバーの持ち込みを防止する。

例:managed-settings.json: {"disableSideloadFlags": true}
config

managedSourcesBehavior

複数のmanaged設定ソースをデプロイしている場合、優先度最上位のソースだけでなく全ソースを合成して適用する。

例:managed-settings.json: {"managedSourcesBehavior": "merge"}
関連記事
関連記事なし
config

permissions.blockReadsOutsideWorkingDirectories

作業ディレクトリ外にあるファイルの読み取りをファイルツールに拒否させる。

例:~/.claude/settings.json: {"permissions": {"blockReadsOutsideWorkingDirectories": true}}
関連記事
関連記事なし
config

skipDangerousModePermissionPrompt

`bypassPermissions` モードに入る前の確認ダイアログをスキップする。ダイアログで一度承認すると自動でユーザー設定に `true` が書き込まれる。信頼されていないリポジトリからは設定できない。

例:~/.claude/settings.json: {"skipDangerousModePermissionPrompt": true}
関連記事
関連記事なし
config

CLAUDE_CODE_RESTRICTED

`1` で制限モード(`--restricted` と同じ)でセッションを開始する環境変数(v2.1.248以降)。settings.jsonの `env` ブロックでの指定は無視される。

例:export CLAUDE_CODE_RESTRICTED=1
関連記事
関連記事なし
config

CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT

クリティカルパス削除の確認プロンプトの制限時間を無効化する環境変数(v2.1.281以降)。autoモードでは分類器に判定を回し、bypassPermissionsモードでは回答を待ち続ける。`env` ブロックでの指定は無視される。

例:export CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT=1
関連記事
関連記事なし
config

CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT

`rm -rf "$(pwd)"` のように対象がコマンド置換の出力だけで構成される再帰 `rm` へのクリティカルパスチェックを無効化する環境変数(v2.1.281以降)。他のチェックは維持される。

例:export CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT=1
関連記事
関連記事なし
config

CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY

PowerShellツールで `rd`・`rmdir`・`del`・`erase` によるシステムパス(ドライブルートやホーム)の削除を拒否するチェックを無効化する環境変数(v2.1.283以降)。`env` ブロックでの指定は無視される。

例:set CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY=1
関連記事
関連記事なし
config

CLAUDE_CODE_AUTO_MODE_SERVER

autoモードの操作レビューをサーバー側に依頼するかを制御する環境変数(v2.1.271以降)。`0` にするとClaude Code自身の分類器リクエストを使う。

例:export CLAUDE_CODE_AUTO_MODE_SERVER=0
関連記事
関連記事なし

サンドボックス

config

sandbox.credentials

(v2.1.191以降・Managed設定向け)サンドボックス内にマウントする認証情報ファイル(`files`)と環境変数(`envVars`)を指定する。個別の不正なエントリは警告付きでスキップされ、有効な部分のみ適用される。

例:managed-settings.json: {"sandbox": {"credentials": {"files": ["~/.aws/credentials"], "envVars": ["AWS_PROFILE"]}}}
config

sandbox.credentials.mode

(v2.1.224以降・Linux/WSL2限定)認証情報ファイルを `"mask"` にすると、サンドボックス内はダミー値を読み取り、egress時にサンドボックスプロキシが実値へ置換する。`extract`・JWT対応の`decode`・AWS SigV4再署名オプションも利用可能。

例:~/.claude/settings.json: {"sandbox": {"credentials": {"files": [{"path": "~/.aws/credentials", "mode": "mask"}]}}}
config

sandbox.failIfUnavailable

`sandbox.enabled` が `true` でもサンドボックスが起動できない場合(依存関係不足・非対応プラットフォーム等)に起動エラーで終了する。`false`(デフォルト)では警告表示のみで非サンドボックスモードで続行する。Managed設定でのハードゲート強制に使用。

例:~/.claude/settings.json: {"sandbox": {"failIfUnavailable": true}}
config

sandbox.allowUnsandboxedCommands

コマンドが `dangerouslyDisableSandbox` パラメータでサンドボックス外実行を要求できるかを設定する。`false` にするとこのエスケープハッチが完全に無効になり、全コマンドはサンドボックス内か `excludedCommands` での実行が必須になる。デフォルト: `true`。

例:~/.claude/settings.json: {"sandbox": {"allowUnsandboxedCommands": false}}
config

sandbox.filesystem.allowManagedReadPathsOnly

(Managed設定専用)Managed設定の `filesystem.allowRead` パスのみを尊重する。ユーザー・プロジェクト・ローカル設定の読み取り許可パスは無視される。`denyRead` は引き続き全ソースからマージされる。デフォルト: `false`。

例:managed-settings.json: {"sandbox": {"filesystem": {"allowManagedReadPathsOnly": true}}}
config

sandbox.network.allowAllUnixSockets

サンドボックス内で全Unixソケット接続を許可する。Linux/WSL2ではseccompフィルタがソケットパスを検査できないため、Unixソケットを許可するにはこの設定が唯一の手段。デフォルト: `false`。

例:~/.claude/settings.json: {"sandbox": {"network": {"allowAllUnixSockets": true}}}
config

sandbox.network.allowMachLookup

サンドボックス内でアクセスを許可するXPC/Machサービス名のリスト(macOSのみ)。末尾に `*` を使ったプレフィックスマッチングをサポート。iOSシミュレーターやPlaywrightなどXPC経由で通信するツールに必要。

例:~/.claude/settings.json: {"sandbox": {"network": {"allowMachLookup": ["com.apple.coresimulator.*"]}}}
config

sandbox.network.allowManagedDomainsOnly

(Managed設定専用)Managed設定の `allowedDomains` と `WebFetch(domain:...)` 許可ルールのみを尊重する。ユーザー・プロジェクト・ローカル設定のドメインは無視される。非許可ドメインはプロンプトなしで自動ブロックされる。デフォルト: `false`。

例:managed-settings.json: {"sandbox": {"network": {"allowManagedDomainsOnly": true}}}
config

sandbox.network.httpProxyPort

サンドボックスで使用するHTTPプロキシのポート番号を設定する。独自プロキシを持ち込む場合に指定する。未指定の場合はClaudeが自動でプロキシを起動する。

例:~/.claude/settings.json: {"sandbox": {"network": {"httpProxyPort": 8080}}}
config

sandbox.network.socksProxyPort

サンドボックスで使用するSOCKS5プロキシのポート番号を設定する。独自プロキシを持ち込む場合に指定する。未指定の場合はClaudeが自動でプロキシを起動する。

例:~/.claude/settings.json: {"sandbox": {"network": {"socksProxyPort": 8081}}}
config

sandbox.enableWeakerNestedSandbox

**セキュリティが低下する。** 権限のないDockerコンテナ(Linux/WSL2のみ)でより弱いサンドボックスを有効化する。デフォルトは `false`。

例:~/.claude/settings.json: {"sandbox": {"enableWeakerNestedSandbox": true}}
config

sandbox.enableWeakerNetworkIsolation

**セキュリティが低下する(macOSのみ)。** システムTLS信頼サービスへのアクセスを許可する。MITMプロキシとカスタムCAを使う場合に `gh`・`gcloud`・`terraform` などGoベースツールのTLS証明書検証に必要。デフォルトは `false`。

例:~/.claude/settings.json: {"sandbox": {"enableWeakerNetworkIsolation": true}}
config

sandbox.bwrapPath

(Managed設定専用・Linux/WSL2のみ)bubblewrapバイナリのカスタムパスを指定する。デフォルトパスにbubblewrapがない場合や特定バージョンを固定する場合に使用。

例:managed-settings.json: {"sandbox": {"bwrapPath": "/usr/local/bin/bwrap"}}
config

sandbox.socatPath

(Managed設定専用・Linux/WSL2のみ)socatバイナリのカスタムパスを指定する。サンドボックス内のネットワークプロキシに使用される。

例:managed-settings.json: {"sandbox": {"socatPath": "/usr/local/bin/socat"}}
config

sandbox.filesystem.disabled

サンドボックスのファイルシステムツールを無効化する。`true` にするとサンドボックスモードでのファイル読み書きができなくなる(デフォルトは`false`)。ネットワーク分離のみを使いたい場合に設定する。

例:~/.claude/settings.json: {"sandbox": {"filesystem": {"disabled": true}}}
config

sandbox.network.strictAllowlist

`true` にすると、サンドボックスのネットワークツールで許可リストにないドメインへのアクセスを確認なしでブロックする(デフォルトは`false`。v2.1.199以降)。

例:~/.claude/settings.json: {"sandbox": {"network": {"strictAllowlist": true}}}
config

sandbox.credentials.envVars

サンドボックス内で特定の環境変数をunsetまたはマスクする。

例:~/.claude/settings.json: {"sandbox": {"credentials": {"envVars": [{"name": "AWS_SECRET_ACCESS_KEY", "mode": "mask"}]}}}
関連記事
関連記事なし
config

sandbox.credentials.files

サンドボックス内で特定の認証情報ファイルの読み取りをブロックまたはマスクする。

例:~/.claude/settings.json: {"sandbox": {"credentials": {"files": [{"path": "~/.aws/credentials", "mode": "mask"}]}}}
関連記事
関連記事なし
config

dangerouslyDisableSandbox

サンドボックス違反時にClaudeが自動リトライで使う内部パラメータ。`Bash(dangerouslyDisableSandbox:true)`のaskルールで毎回確認を強制でき、`allowUnsandboxedCommands: false`で無効化できる。

関連記事
関連記事なし