Claude Codeで毎回許可を求められるコマンドを事前に許可する設定方法。 この記事の設定を適用するとClaude Codeが自動的にコマンドを実行するようになる。セキュリティリスクがあるため自己責任で行うこと。

設定ファイルの場所

  • グローバル設定ファイル: ~/.claude/settings.json
  • プロジェクトごとの設定ファイル: <プロジェクトルート>/.claude/settings.local.json

設定

permissions.allowに許可するコマンドを配列で指定する。
シェルコマンドはBash(<コマンド>:*)の形式で指定する。

{
  "permissions": {
    "allow": [
      "Bash(cat:*)",
      "Bash(grep:*)"
    ]
  }
}

特定のサブコマンドのみ許可することも可能。

{
  "permissions": {
    "allow": [
      "Bash(git status:*)",
      "Bash(git show:*)",
      "Bash(git diff:*)",
      "Bash(git log:*)",
      "Bash(gh pr view:*)",
      "Bash(gh pr diff:*)",
      "Bash(gh pr list:*)",
      "Bash(gh pr checks:*)"
    ]
  }
}

注意点

許可したコマンドはClaude Codeが自動的に実行するようになるため、副作用のないコマンドのみを許可するとよい。
例えばrmコマンドなど、ファイルを削除するコマンドを許可すると、意図しないファイルを削除する可能性がある。