権限と settings.json

権限:3段階

1許可(確認なし)2確認(毎回聞く)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 リストに足していくほうがよい方法です。