CC逆引きリファレンス

危険なコマンドを禁止したい

4. 権限・セキュリティ

コマンド / 機能

settings.json に deny を追加

絶対に実行させないコマンドを指定

概要

deny ルールで特定のツールやコマンドを完全に禁止できます。deny は allow より優先され、bypassPermissions モードでも有効です。

設定例

// settings.json
{
  "permissions": {
    "deny": [
      "Bash(rm -rf *)",           // 再帰削除を禁止
      "Bash(rm -r *)",            // 同上
      "Bash(sudo *)",             // sudo を禁止
      "Bash(chmod 777 *)",        // 危険な権限変更を禁止
      "Bash(git push --force*)",  // force push を禁止
      "Bash(curl * | sh)",        // パイプでシェル実行を禁止
      "Bash(wget * | sh)"         // 同上
    ]
  }
}

こんな時に使う

  • 破壊的なコマンドを絶対に実行させたくない時
  • チームで安全なルールを共有したい時

使い方

  1. 1settings.json に permissions.deny 配列を追加
  2. 2禁止したいツール/コマンドパターンを列挙
  3. 3bypassPermissions でも deny は有効

Tips

  • deny は最優先で適用される
  • チームで共有する場合は .claude/settings.json に記述
  • enterprise 設定で組織全体に強制することも可能