权限模式是你给 Claude Code 挂的“档位”——同一个 AI,挂几档跑,决定了它在你电脑上每动一步要不要先停下来征求你的同意。
一、为什么有“权限”这回事

Claude Code 跟普通聊天机器人不一样——它真的会在你电脑上动手:读文件、改代码、跑命令、装依赖、提交 git。每个动作有自己的风险等级,权限模式就是告诉 Claude Code:做到哪种程度之前要不要先停下来问你

Claude Code 一共 6 档权限模式:5 档是日常人在屏幕前操作用的,1 档(dontAsk)专门给 CI/CD 自动化场景用。从最稳到最野:默认 → 自动改文件 → 计划模式 → 自动模式 → 全权放行,再加一个特殊的 dontAsk。

二、6 档模式速览

打开 Claude Code,按 Shift+Tab 循环切——切完底部状态栏会显示当前模式(默认模式不显示标签)。

1 默认无标签
每个工具调用都问你一声
2 自动改文件Auto-accept edits
改文件不问,跑终端命令仍然问
3 计划模式Plan mode
只读、只想、只输出方案,一行代码都不动
4 自动模式Auto mode(新)
Claude 自己判风险,安全的放行、可疑的拦下来
5 全权放行Bypass / YOLO
一律不问,需启动参数才能进
6 dontAsk自动化专用,不在 Shift+Tab 循环
未预授权的操作一律拒绝,配 allow 列表跑无人值守

下面把日常用得最多的 3 档讲透,再补 3 档进阶(含 dontAsk)。

三、3 档主力详讲
3.1 默认模式 —— 最稳

它每要动一下就停下来问你,每次弹窗给三种选择:

1
这次允许
2
这一类以后都允许(按操作类型记忆)
3
拒绝,并告诉它换个做法

第 2 项是精华——按“操作类型”记忆。第一次允许“在 src/ 下新建文件”选第 2 项,以后所有在 src/ 下新建文件都自动放行,但在 data/ 下新建还是会问。前 10 次确认完,后面 95% 的操作都自动放行——默认模式其实没那么烦

注:读文件这个操作 Claude 启动时会一次性对工作目录整体授权,不走单次弹窗。所以“按操作类型记忆”主要体现在写文件、跑命令这两类动作上。

什么时候用:新项目第一次跑、碰生产代码、不熟悉的领域。

3.2 自动改文件(Auto-accept edits)—— 主力模式

按一下 Shift+Tab 切到这一档,状态栏底部出现 accept edits on

它干的事:

改文件 → 自动放行(编辑、新建、删除文件都不问)
常见文件系统命令 → 也自动放行(mkdir、touch、rm、mv、cp、sed 这类整理文件的命令)
其他终端命令 → 仍然问(npm install、git push、curl、跑测试这类都要确认)

这样切分是有意的——改文件和整理文件操作最多让代码出错(可以 /rewind),但装依赖、推 commit、调外部接口这类命令影响不可逆,必须留刹车。

⚠️ 这里有个新手常困惑的点:开了 auto-accept edits 后发现“它 mkdir 怎么也没问我”——不是 bug,是设计如此。文件系统命令在它“自动放行”的范围里。

什么时候用:写代码主战场、重构大块代码、刚明确告诉它要改哪些文件之后。别用的时候:不熟的项目、改 data/ 或 .env 这种敏感文件之前——临时切回默认。

3.3 全权放行(Bypass / YOLO)—— 危险二字写在脸上

这一档改文件、跑命令、装依赖、删目录一律不问。进它不能 Shift+Tab 切——必须启动时加参数:

claude --dangerously-skip-permissions

注意这个参数名——dangerously(危险地)。官方把“危险”两个字写在了参数名上,意思非常明确:要进就进,出事别说没提醒。启动后状态栏显示 Bypass permissions on,接下来你说啥它干啥,全程零确认。

真的有用的场景:跑一次性脚本(批量改名、批量转格式)、完全隔离的沙盒(Docker / 临时虚拟机 / 专门实验目录)、重复性强的批处理。

坚决不能用的场景(红线)
❌ 直接在生产代码目录
❌ 碰真实客户数据 / 财务文件 / 邮件附件
❌ 联网部署的服务上(它可能 git push --force 覆盖线上)
❌ 磁盘根目录、桌面、用户目录这类大范围
四、3 档进阶
4.1 计划模式(Plan mode)

Shift+Tab 切到 Plan mode on,进入只读 + 只想:可以读文件、出方案,但不能改文件、不能跑命令。大需求开工前、改混乱代码前、不确定方案选哪条时用。详细用法见第 08 章 /plan 命令。

4.2 自动模式(Auto mode)

2026 年新加的一档,介于“自动改文件”和“全权放行”之间——Claude 自己判断每个操作的风险:安全的(读文件、改你刚说要改的代码)自动放行,可疑的(要删的文件你没明确说删、要装的依赖你没明确说要)停下来问你。

谁能用 + 用什么模型:截至当下对 Max、Team、Enterprise、API 用户开放,需要 Sonnet 4.6 或 Opus 4.6 模型,且仅支持 Anthropic 官方 API(不支持 Bedrock / Vertex / Foundry)。Max 订阅用户可直接用。

听起来很美,两个注意点:① Claude 的判断不是 100% 准,它认为安全你认为不安全的可能直接被放行;② 第一次切到 Auto mode 会弹一次性确认——弹窗不处理 Shift+Tab 就一直被拦着。

我的用法:只在小型实验项目和长时间无人值守的批处理用 Auto mode,正经项目仍然 Auto-accept edits 起步——AI 判断的“安全”边界还没经过足够长的实战验证。

4.3 dontAsk(自动化专用)

dontAsk 跟 Bypass 完全相反——Bypass 是“一律放行”,dontAsk 是“未预授权的一律拒绝”。你在配置文件里写好哪些操作允许、哪些禁止,跑起来后 Claude 只能干授权范围内的事,规矩外的一律直接拒绝,不弹窗不问你。

为什么有这一档:CI/CD 流水线、定时任务、服务器跑批这些场景压根没人坐在屏幕前点确认按钮,弹窗弹出来就把流程卡死了。dontAsk 的逻辑就是——人不在,按事先写好的规矩办。

怎么进:不能 Shift+Tab 切,必须在 settings.json 里把 permissionMode 设成 dontAsk,再配合 allow 列表写明白允许哪些操作。

什么时候用:CI/CD 自动跑测试、夜里定时任务批处理、服务器上跑 Agent。日常一个人在电脑前写代码,用不到这一档。

五、Shift+Tab 循环切换

默认循环只有 3 档:默认 → Auto-accept edits → Plan mode → 回到默认。Auto、Bypass、dontAsk 都不在默认循环里:

Auto mode:满足“谁能用”条件后,首次切到这一档要点一次 opt-in 确认,确认完它才加入循环
Bypass permissions:Shift+Tab 永远进不去,必须启动时加 --dangerously-skip-permissions
dontAsk:Shift+Tab 永远进不去,必须在 settings.json 里配 permissionMode + allow 列表
⚠️ Auto mode opt-in 弹窗的坑:4 个选项,不打算用就选第 4 项 No, don't ask again 一劳永逸跳过——否则每次 Shift+Tab 转到 Auto mode 都被拦一次。
六、决策表:什么场景用哪档
新项目第一次跑、不熟的领域 → 默认
写代码主力场景、信任的项目 → Auto-accept edits
大需求开工前、想方案 → Plan mode
小型实验项目、长时间无人值守的批处理 → Auto mode
改 data/ / .env / 生产配置前 → 临时切回默认
重复性强的批处理、隔离沙盒 → Bypass(启动参数)
跑生产部署、推线上 commit → 永远默认
CI/CD、定时任务、服务器无人值守跑 Agent → dontAsk
💡 一句口诀:信任程度跟敏感程度走,越敏感越往默认靠。
七、Bypass 模式的 4 条铁律

最后单独把 bypass 拎出来——这一档用错真会出事,4 条铁律记牢:

1
永远在专门的实验目录用——跟正经项目隔开,它再放飞也只影响这个沙盒。
2
碰真实数据前先关掉 bypass——重新开一个不带参数的会话再处理,多敲一次启动命令的代价比误删客户数据库小一万倍。
3
别用 bypass 跑“动外部世界”的命令——git push --force / npm publish / 调外部 API / 部署生产,要动外部立刻关掉。
4
用好 git 等版本管理——每次进沙盒跑 bypass 前先 git commit 一次干净版本,跑完不对劲一句 git reset --hard 就回来了。补充:bypass 是会话级的,关掉终端重新启动就回到默认。
本章小结

6 档权限从“每步确认”到“全权放行”再到“未授权一律拒绝”覆盖了所有场景,默认是底线、Auto-accept edits 是主力、Plan mode 想方案用、Auto mode 谨慎尝鲜、Bypass 只在沙盒里玩、dontAsk 给自动化跑无人值守——Shift+Tab 一秒切换日常 3 档,越敏感的事越往左走。

➡️ 下一章:第 10 章 CLAUDE.md 介绍与编写