権限と settings.json
権限:3段階
権限は「どの操作を確認なしで通すか」を決めます。以下は慎重な例です:読み取り系は許可、コミット/プッシュ/リモートコマンドは確認、危険な操作とキーのファイルは禁止。
.claude/settings.example.json ダウンロード{
"permissions": {
"allow": [
"Bash(git status:*)",
"Bash(git diff:*)",
"Bash(git log:*)",
"Bash(ls:*)",
"Bash(wc:*)",
"Bash(node --check:*)",
"Bash(python -m py_compile:*)",
"Read",
"Glob",
"Grep"
],
"ask": [
"Bash(git commit:*)",
"Bash(git push:*)",
"Bash(scp:*)",
"Bash(ssh:*)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(git reset --hard:*)",
"Read(./.env)",
"Read(./secrets/**)"
]
}
}
インストールスクリプトはあなたの
settings.json を変更せず、settings.kit-example.json だけを作ります。比較と統合は自分で行ってください。権限(Permission)
Claude Code は、コマンドを実行したりファイルを編集したりする前に、権限の設定を確認します。設定は settings.json に書き、いくつかの層があって上にあるものが優先されます:
| 層 | 場所 |
|---|---|
| 会社が一括管理 | managed-settings.json など |
| 今回の起動オプション | claude --settings |
| プロジェクトのローカル(個人用、リポジトリに入れない) | .claude/settings.local.json |
| プロジェクトで共有 | .claude/settings.json |
| ユーザー全体 | ~/.claude/settings.json(Windows:C:\Users\ユーザー名\.claude\settings.json) |
{
"permissions": {
"allow": ["Bash(git status:*)", "Bash(npm run build)"],
"deny": ["Bash(rm -rf:*)"]
}
}
allow にあるものは確認されず、deny にあるものは即拒否され、それ以外は現在の「モード」に従います。よくあるモードを厳しい順に:毎回確認(default)→ 編集を自動承認(acceptEdits)→ 自動(auto、裏で審査あり)→ リストだけ(dontAsk)→ 計画モード(plan、見るだけで変更しない)→ すべての確認をスキップ(bypassPermissions、公式は隔離された環境でのみ使うよう勧めています)。会話中に Shift+Tab でモードを切り替えられます。公式の説明:設定、権限。
T00 の経験:クリックを減らしたいからといって、すべての確認を切らないこと。「毎日繰り返す決まったコマンド」を1つずつ allow リストに足していくほうがよい方法です。