テック技報最新号へ →
AIコーディング

Claude Code: bypassPermissions でも deny リストは効く → 危険コマンドだけ明示的に禁止する

権限確認を全部スキップする bypassPermissions を使う場合でも、permissions.deny に書いたルールは優先される。確認ダイアログ地獄を避けつつ、怖い操作だけ確実に封じられる。

@melvynx · 投稿 2026-02-12
#ai-coding#claude-code#セキュリティ#権限

どんな時に使う?

  • 毎回の許可確認が多すぎて作業が進まない
  • かといって rm -rf・本番への push・秘密情報の読み取りはさせたくない

設定例(.claude/settings.json)

json
{
  "permissions": {
    "defaultMode": "bypassPermissions",
    "deny": [
      "Bash(rm -rf:*)",
      "Bash(git push:*)",
      "Read(./.env)",
      "Read(./secrets/**)"
    ]
  }
}

注意点

  • deny はパターン一致なので、言い換え(別コマンド・スクリプト経由)までは防げない。コンテナや devcontainer などのサンドボックス内で使うのが前提。
  • 挙動はバージョンで変わりうる。公式ドキュメントの permissions の項で優先順位を確認すること。
  • チーム共有の設定に bypassPermissions を入れるのは避け、個人の settings.local.json に留めるのが無難。

出典

X の元の投稿を開く