permissions(許可設定)
このページのゴール:毎回の確認を減らしつつ、危険な操作は必ず止まる状態にする
所要時間の目安: 15分動作確認日: 2026-08-05手順
1. allow と deny の仕組みを知る
permissions には、主に2つのリストを書きます。
| リスト | 意味 |
|---|---|
allow | 確認なしで実行してよい操作 |
deny | 実行させない操作 |
ルールは deny が最優先で評価されます。同じ操作が allow と deny の両方に当てはまっても、deny が勝ちます。安全側に倒れる設計です。
2. ユーザー設定のファイルを開く
全プロジェクトに効かせたいので、ユーザー層(4-4参照)に書きます。
touch ~/.claude/settings.json open -e ~/.claude/settings.json
3. 安全側のテンプレートを貼る
ファイルが空なら、次を丸ごと貼って Cmd+S で保存してください。すでに中身がある場合は、下のつまずきポイントを見てください。
{
"permissions": {
"allow": [
"Bash(mkdir *)",
"Bash(npm install)",
"Bash(npm run dev)",
"Bash(npm run build)",
"Bash(git add *)",
"Bash(git commit *)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(rm -fr *)",
"Bash(sudo *)",
"Bash(git push --force *)",
"Bash(git push -f *)",
"Read(.env)",
"Read(.env.*)",
"Read(**/secrets/**)"
]
}
}* はワイルドカードで、「この後に何が続いても」という意味です。Bash(mkdir *) なら、mkdir で始まるコマンド全般に当てはまります。
4. 各行の意味を知る
allow 側は、この先のPhaseでよく使う「壊さない操作」だけを選んであります。
deny 側は、事故になりやすい操作です。
| ルール | 止めるもの |
|---|---|
Bash(rm -rf *) Bash(rm -fr *) | フォルダごと即座に消す削除。ゴミ箱に残らない |
Bash(sudo *) | 管理者権限での実行。Macの根幹を触れてしまう |
Bash(git push --force *) Bash(git push -f *) | 履歴の強制上書き(Phase 5で学ぶ操作の危険版) |
Read(.env) Read(.env.*) | APIキーなど秘密が入るファイルの読み取り(Phase 5-6で学ぶ) |
Read(**/secrets/**) | secrets という名前のフォルダの中身の読み取り |
Read(.env) のようにファイル名だけ書いたルールは、どの階層にある同名ファイルにも効きます。
5. 反映を確認する
新しいセッションを起動して、セッションの中で次を打ちます。
/permissions
ルールの一覧と、それがどのファイルから読み込まれたかが表示されます。貼った deny のルールが並んでいれば成功です。
✅ ここまで出来たらOK
確認すること:/permissions の一覧に、Bash(rm -rf *) などの deny ルールが表示されている
そうならない場合 → エラー逆引きページ を見てください。
📖 出てきた言葉
allowallow / アロー
確認なしで実行してよい操作のリスト。settings.json の permissions に書く。 毎回の「実行していい?」が減り、作業のテンポが上がる。
denydeny / デナイ
実行させない操作のリスト。allow より優先して評価される。 疲れて何でもOKを押してしまう日でも、ここに書いた操作だけは必ず止まる。
settings.json にすでに中身がある
丸ごと貼ると、元の設定が消えてしまいます。自分で組み合わせるより、Claudeに頼むのが確実です。
~/.claude/settings.json に、次の permissions を追加してください。 既存の設定は消さずに残してください。 書き換える前に、変更内容を見せてください。 (ここに手順3のJSONを貼る)
保存したのに /permissions に出てこない
JSONは1文字のミスで全体が無効になります。カンマの付け忘れ、引用符の欠けが定番です。 ファイルの中身を全部コピーして、Claudeに「このJSONのエラーを直して」と貼ってください。 また、設定は新しいセッションで確認してください。起動中のセッションには反映されないことがあります。
denyに書けば絶対に安全?
permissions はClaude Codeの操作に効く仕組みで、強力な安全ネットです。ただし万能ではありません。 たとえば、実行を許したプログラムが内部で行うファイル操作までは止められません。 「deny+大事な操作は自分の目で確認」の二段構えを崩さないでください。