claude code 怎么写permissions

{
    "allowedTools": [
        "Read",
        "Write",
        "Glob",
        "Grep",
        "Edit",
        "Update",
        "Create",
        "Bash",
        "Task",
        "WebFetch",
        "WebSearch",
        "NotebookEdit"
    ],
    "deny": [
        "Bash(git push*)",
		"Bash(git commit*)"
    ]
}

我是这样写的,但是每次Bash好像都没有起作用,还会问我要权限,难道是要写所有 Bash(cd:*) 、 Bash(ls:*) 这种吗?

写在allow里试试看?

你有没有用到 --settings 启动呢?

等下…你这为什么用的allowedtools?

官方用的

  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git commit *)",
      "Bash(git * main)",
      "Bash(* --version)",
      "Bash(* --help *)"
    ],
    "deny": [
      "Bash(git push *)"
    ]
  }
}

:distorted_face:我是小丑,不知道从哪抄来的,一直这么写 :smiling_face_with_tear:

多看看这个 配置权限 - Claude Code Docs :hugs:

多谢,不知道能不能Bash(*) :grinning_face:

让它自己写多好,不会写错。

用的cc switch,这个settings.json不会默认加载吗

:thinking:我不太清楚cc switch的原理,如果你在 .claude 下有多个 settings.xxx.json文件,那我建议你所有的permission保持一致,因为有从关系