CopybookEnglish搜索

设置配置

deny、ask、allow 权限规则

顺手删过「看起来没用」⁠的配置:危险命令直接拦,push 和发布前先问,日常放行,deny 永远优先。

662 X 收藏,截至 发帖日期

.claude/settings.json
{
  "permissions": {
    "deny": [
      "Bash(rm -rf*)",
      "Bash(*--force*)",
      "Edit(.env*)",
      "Edit(*.pem)"
    ],
    "ask": [
      "Bash(git push*)",
      "Bash(npm publish*)",
      "Edit(src/config/*)"
    ],
    "allow": [
      "Bash(npm run*)",
      "Bash(git commit*)",
      "Bash(git add*)",
      "Read(**)"
    ]
  }
}

下一步 放进项目的 .claude/settings.json,再按项目改这几个列表。

有一天,Claude 在修 bug,顺手删了一个「看起来没用」的配置文件。那个文件是生产环境密钥的引用入口。

之后我花了半小时配好 .claude/settings.json。

优先级:deny > ask > allow。deny 最高。一条命令只要匹配 deny,就算也匹配 allow,也不会执行。

权限列表这类数组设置会跨层级合并,而不是互相覆盖。所以用户级(~/.claude/settings.json)的一条 deny 和项目级(.claude/settings.json)的另一条 deny 都会生效。

业务风险我在项目级 deny,比如删 migrations。安全底线我在全局 deny,比如执行 rm -rf。两层,各自维护。