跳到主要内容

权限与权限模式

进阶

权限决定了 Claude Code 在不停下来询问你的情况下能做什么。调好了,你既有顺畅的工作流又不失掌控;调坏了,你要么对一切机械地放行,要么被询问淹没。

三种裁决

每个潜在操作都会归结为以下三者之一:

  • allow(允许)——直接执行,不询问。
  • ask(询问)——暂停并询问你(这是未被明确允许/拒绝的任何操作的默认行为)。
  • deny(拒绝)——绝不执行,即便被请求也不行。

规则通常匹配某个工具加上一个模式,例如允许 Bash(npm run test:*),或拒绝 Read(./.env)

权限模式

模式为整个会话设定总体姿态:

模式行为适用场景
default / ask对任何未预先允许的操作都询问日常工作
plan只读;只提方案,从不动手大型/有风险任务——见规划模式
acceptEdits自动接受文件编辑一个可信、范围明确的编辑会话
bypass / yolo完全跳过询问仅限沙箱/CI——绝不要在有密钥的机器上用

:::warning Bypass 只属于沙箱 在你的真实机器上关闭所有询问运行,正是智能体最终碰到它不该碰的东西的方式。请把它留给一次性环境。见加固自主运行。 :::

一份合理的初始允许清单

目标:预先允许那些安全、重复的操作;把破坏性操作保持在 askdeny

  • 允许: 读取文件,运行你的 test/lint/build 命令,git status/diff。
  • 询问: 安装依赖,向项目外写文件,网络调用。
  • 拒绝: 读取密钥文件(.env、密钥文件),强制推送,rm -rf

把项目规则存到 settings.json(共享),把个人覆盖项存到 settings.local.json

:::tip 让它从你的批准中学习 对同一个安全命令批准几次之后,你就会清楚该往允许清单里加什么——把反复出现的询问变成一次性的规则。 :::

下一步