Claude Code 之所以比普通 AI 编程工具更强,是因为它不仅能读,还能写、还能跑命令。但也正因为如此,你必须主动管理权限。官方文档把权限拆成两层:一层是 permission mode,决定它默认能做多少;另一层是 permission rules,决定某些工具或命令要不要单独放行、询问或拒绝。
六种模式先看懂
官方权限模式文档列出了六个值。default 也就是界面里常写的 Manual,默认只读,适合刚开始或敏感任务;acceptEdits 会自动接受文件修改和常见文件系统命令;plan 只做分析和只读探索;auto 允许更高自治,但会做后台安全检查;dontAsk 只允许预先批准的工具;bypassPermissions 基本跳过提示,只适合隔离容器或虚拟机。
大多数人该怎么选
- 第一次进入陌生仓库:先用
plan或 Manual。 - 你已经明确目标,准备让它改代码:切到
acceptEdits。 - 长任务、低风险、你又不想频繁确认:考虑
auto。 - CI、脚本、受限环境:才考虑
dontAsk。 - 本地真机、生产目录、混有密钥的项目:不要碰
bypassPermissions。
为什么 Plan 模式很好用
很多新手一上来就让 Claude Code 边看边改,结果方向还没确认,文件已经动了。Plan 模式的价值就在这里:它只读取文件和运行只读命令,帮你先摸清代码结构、依赖关系、风险点,再决定是否执行修改。对于排查问题、理解陌生项目和拆任务,这几乎是默认首选。
权限规则和模式有什么区别
模式只是基线,规则才是细化控制。官方权限文档说明,你可以对工具配置 allow、ask、deny 三类规则,而且优先级是 deny 再 ask 再 allow。也就是说,就算你整体处于宽松模式,只要命中了 deny,Claude 仍然做不了;相反,就算总体可以自动通过,命中 ask 规则也依然要你确认。
哪些内容值得明确禁止
实际项目里,最值得优先加 deny 的通常是密钥文件、环境变量文件、生成目录和与当前任务无关的大体积内容。官方 settings 文档给过示例:可以拒绝读取 .env、.env.*、secrets/** 等路径。这类规则比单纯在提示词里说“不要看密钥”靠谱得多。
切换模式的实用方式
在 CLI 中,官方说明可以用 Shift+Tab 在默认循环里切换模式,也可以启动时直接指定:
claude --permission-mode plan如果你想把某个模式设为默认值,可以在 ~/.claude/settings.json 或项目级 .claude/settings.json 中配置 permissions.defaultMode。团队仓库里一般建议把共享默认值放项目级配置,个人偏好放用户级配置。
高风险模式为什么不能乱开
官方特别警告 bypassPermissions 会跳过大量提示,包括对 .git、.claude、.vscode 等关键目录的写入保护。虽然仍然存在少量电路断路器式保护,但这并不意味着它适合本机真实开发环境。更合理的做法是:本地电脑用 Manual、Plan 或 acceptEdits,把高自治模式留给隔离容器、临时环境或风险清晰的自动化流程。
一套够用的保守默认方案
如果你不知道如何起步,可以用这样一套很实用的默认组合:把用户级默认模式设成 Manual;第一次进入仓库先切 Plan;项目级配置里显式 deny .env、secrets/** 和构建产物目录;当你已经看懂范围并准备修改时,再临时切到 acceptEdits。这样既不会让你一开始被过多弹窗拖慢,也能把真正危险的内容挡在外面,是新手最容易长期坚持的一种用法。
等你对项目和工具都更熟悉后,再考虑把部分低风险命令做成 allow 规则,而不是直接一步跳到高自治模式。
如果团队已经约定了默认模式和 deny 清单,最好把它们写进入项文档或项目模板。这样每个人第一次打开仓库时的安全边界就更一致,不会有人特别保守、有人又放得过宽。
数据与安全边界还要注意什么
权限模式只决定 Claude Code 能否动你的文件和命令,不等于数据永远不离开机器。官方数据使用页明确说明,本地使用时提示词和模型输出仍会经网络发送给模型服务;不同账户类型的数据保留和训练策略也不同。所以你在权限之外,还要结合账号计划、隐私设置和数据使用政策一起看。
总结
选权限模式的核心不是“越自动越先进”,而是让 Claude Code 的动作级别和任务风险匹配。你完全可以把它当成一套档位:先 Plan,再 acceptEdits,必要时才上 auto。等权限思路稳定之后,再继续看 大型项目读取 和 MCP 接入,整体效率会更稳。

