Claude Codeの権限確認プロンプトを減らす設定方法——/permissionsとsettings.local.json
公開 2026-04-24 更新 2026-09-11

関連テーマ:権限と実行範囲を確認する
確認を減らすときは、危険な全スキップではなく、対象と操作を限定したルールから始めます。現行のルール構文、優先順位、管理設定はConfigure permissionsとSettingsが正本です。古い記事にあるキー名やモード名を、そのまま現在の設定へコピーしないでください。
/permissionsで現在値を確認する
いまの状態を把握し、必要な操作だけを追加します。
- 1現在値を見る/permissions でルールと許可・拒否・確認を読む。
- 2一つの用途へ絞る対象コマンド、引数、パスを限定する。
- 3読み込みを確認設定のスコープと、新しい会話での有効値を確認する。
設定ファイルは秘密情報の保管場所ではありません。広い許可で確認を消す前に、対象外へ影響しないか確かめます。
実行中のセッションで次を入力します。
/permissions
利用可能なルールと、許可・拒否・確認の状態を確認できます。画面に出る項目はバージョンや管理設定で変わるため、表示されない設定を推測して追加しません。/doctorや設定デバッグで、どの設定が読み込まれたかも確認します。
settings.local.jsonを使う範囲
プロジェクト固有の設定は.claude/settings.json、個人のローカル設定は.claude/settings.local.jsonが候補です。正確なスコープと優先順位は公式のSettingsページを確認します。settings.local.jsonは個人環境向けなので、共有したくない許可ルールや端末固有の設定を置けますが、APIキーなどの秘密情報を安全に保存する場所ではありません。Git管理の有無を確認し、コミット対象を誤らないようにします。
ルールを狭くする例
「毎回確認するのが面倒だからすべてのBashを許可」ではなく、読み取り専用の確認コマンドなど、目的を限定します。許可ルールの構文は必ず公式の例から選び、シェル展開や引数の抜け道を検討します。削除、公開、資格情報変更、外部送信に関わるコマンドは自動許可へ入れません。
ルールを変更した後は新しいセッションで有効値を確認し、対象外のプロジェクトで同じ設定が効かないかを確認します。権限モードとサンドボックスを併用しても、差分・テスト・ログのレビューは省略しません。
allowとdenyを限定するJSON例
プロジェクトだけで使う例を.claude/settings.local.jsonに置くなら、次のように対象コマンドを絞ります。
{
"permissions": {
"allow": ["Bash(git status)", "Bash(git diff *)"],
"deny": ["Read(./.env)"]
}
}
これはGitの状態確認と差分表示だけを許可し、プロジェクト直下の.envを読ませない例です。git diff *のようなパターンも実際の引数範囲を確認してから使い、公開、削除、外部送信につながるコマンドはallowへ入れません。公式の評価順序はdeny、ask、allowでdenyが優先しますが、広いallowを追加すると拒否対象とは別の操作まで許可する危険があります。ワイルドカードは最小にし、/permissionsで解決済みルールを確認してください。
このテーマを続けて読む
モードを比較し、計画と実装、WindowsとWSL2の違いを整理します。
権限と実行範囲を確認するの記事をまとめて見る