官方把动手前先问你的模式叫 Manual,默认只自由读。最近会话常从 auto 起。敏感仓库先切过去;事后看 diff 再用 acceptEdits。auto 不是自动改。

要点
- 选题和口语里常说的“Ask/只读”,对应官方现页的 Manual。它在 CLI、
claude --help、VS Code、JetBrains 扩展和桌面应用里都叫这个名字;配置值是default,CLI 也接受manual这个别名。这个模式下,工作目录里读文件不必问你;改文件、跑 shell 或访问网络,多数会先停下来问。官方把它列为适合你亲自审每一项操作、以及敏感工作。(Choose a permission mode) - 从 Claude Code v2.1.283 起,终端和 VS Code 里的交互会话,内置起始模式是 auto。更早的版本里,它主要是 Pro、Max、Ultra、Team 方案在能拉取功能开关时的起始模式,否则仍是 Manual。你可以随时改正在跑的会话。第一次被内置默认带进 auto 时,终端或扩展会给一次说明。(同上)
- 切换入口按界面不同。CLI 和 JetBrains 插件按
Shift+Tab循环;从 auto 第一次按下会进 Manual(default),随后是acceptEdits→plan。VS Code 点提示框下方的模式指示器,界面标签是 Manual、Edit automatically、Plan、Auto、Bypass permissions。桌面应用在 Code 标签里、提示框下方用模式选择器。云端会话的下拉框写法不一样,见正文。(同上,Switch permission modes) acceptEdits会自动放行工作目录里的文件编辑,以及常见的mkdir、touch、mv、cp等文件系统命令。官方建议:你打算事后在编辑器或git diff里看改动,而不是每条编辑都当场点一次,再用它。它仍会为目录外路径、受保护路径、被识别的危险删除,以及其他大多数 Bash 命令弹出确认。(同上,acceptEdits)- auto 和
acceptEdits不是一回事。auto 里,第二个模型(分类器)替你审操作,官方写它适合长任务、减少反复确认;分类器仍可能放行有风险的操作,也可能挡住无害操作。dontAsk不是“别问我、直接干”:本会弹窗的调用会被拒绝。bypassPermissions官方写明只适合隔离的容器和虚拟机。(同上;Auto mode for Claude Code) - 网页聊天里“先提问再动手”的问单,是另一篇提示写法,不覆盖本篇的权限模式切换。Claude Code 拒复刻游戏的护栏调整,也不在本篇范围。(Claude:先让它提问再动手——澄清问题清单怎么写进提示)
正文
场景
你刚开一个 Claude Code 会话,准备先看看仓库再决定改什么。它已经开始改文件、跑命令,没有先问你。
这不一定是它“不听话”。从 v2.1.283 起,终端和 VS Code 里的交互会话,内置起始模式常常是 auto。分类器在后台审操作,不再像 Manual 那样,几乎每一步都停下来等你。
这是时机判断的示意,不是某次逐字实测。下面说的切换,以官方现页的模式名为准。不要在界面里找一个就叫 Ask 的按钮。
可跟做步骤/可抄工作流
1. 先认官方名字,再看当前模式
“Ask/只读”说的是那种动手前先问你、默认只自由读文件的状态。官方把它叫做 Manual,配置值是 default。VS Code 里,自动改文件对应的标签是 Edit automatically,配置值是 acceptEdits。桌面应用和网页端的用词,以你登录后现页为准。
CLI 状态栏会写出当前模式,例如 ⏸ manual mode on、⏵⏵ accept edits on、⏸ plan mode on、⏵⏵ auto mode on。VS Code 看提示框下方的模式指示器。还没看清就开写,后面很难判断是谁放行的。
启动时也可以直接指定,例如:
claude --permission-mode manual
claude --permission-mode acceptEdits
claude --permission-mode plan
若要固定以后怎么开,官方让你改 permissions.defaultMode。注意:在项目里的 .claude/settings.json 或 .claude/settings.local.json 里写 "auto" 或 "bypassPermissions",对起始模式不生效;auto 要写到用户级的 ~/.claude/settings.json。VS Code 扩展另有 claudeCode.initialPermissionMode,而且不接受 auto 这个值,具体规则以扩展说明为准。
2. 这类活先切到 Manual
官方给 Manual 的定位很直:你要亲自审每一项操作,或这是敏感工作。下面这些情况,工作流上建议先切过去。
- 刚接手的陌生仓库,还没看清目录、脚本和密钥位置
- 改动靠近生产配置或权限,也靠近支付或用户数据
- 命令可能删除文件、改远程仓库或对外发请求,你想逐条看
- 你还不熟悉当前这条任务会动哪些文件
CLI 里如果当前是 auto,按一次 Shift+Tab 会进 Manual。VS Code 点模式指示器,选 Manual。JetBrains 插件走终端,切法与 CLI 相同。
Manual 不是“完全不能改”。读文件仍可直接进行。它只是在改文件、跑命令或访问网络前先问你。你仍要认真看弹窗内容,不要养成一律点 Yes 的习惯。
3. 要事后看 diff 时,再用 acceptEdits
官方写:用 acceptEdits 的典型场景,是你打算事后在编辑器或 git diff 里看改动,而不是每条编辑都当场批准。它适合你已经围好范围、正在迭代、并且会自己看 diff 的时候。
从 Manual 按一次 Shift+Tab,CLI 会进 acceptEdits。不要把它理解成“所有命令都自动放行”。工作目录外的路径、受保护路径、被识别的关键路径删除,以及其他大多数 Bash 命令,仍会问你。
看完 diff,任务收尾,再切回 Manual。不要因为省事,让接受自动编辑的状态一直开着。
4. 先想清楚再改时,用 plan,不要和 Codex 的 Plan 混为一谈
Claude Code 的 plan 是一种权限模式:它读文件、做探索、写出计划,规划期间不改你的源文件。计划就绪后,它会问你怎么继续。批准计划会退出 plan,并切到你选的那种权限模式,然后才开始改。
这和 Codex 的 /plan、Cursor 自带的 Plan Mode 不是同一个按钮。不要在一个编辑器里装着两套工具时按错。本篇只谈 Claude Code。
5. 别把 auto、dontAsk、bypass 当成“自动改”
auto 的起点是少打断你做长任务。分类器在动作执行前审一遍,官方举例包括批量删文件、敏感数据外传、恶意代码执行。它比跳过全部权限检查更收敛,但官方也写了:风险并没有消失,分类器仍可能放行有风险的操作,也可能挡住无害操作。组织还可以关掉 auto。不要因为会话是从 auto 起的,就默认它已经替你把关完了。
dontAsk 更要看清:它不会替你点同意。本会弹出确认的调用会被拒绝,只留下工作目录里的文件读取,以及你事先放行的工具。它主要给锁死的 CI 和脚本用,不会出现在 Shift+Tab 循环里,需要启动时用 --permission-mode dontAsk 指定。
bypassPermissions 官方写明只适合隔离的容器和虚拟机。不要在自己日常的开发机上,把它当成“自动改”的升级版。
真实用户诀窍/反例
- 诀窍:先看状态栏,再发第一条指令。 最近版本常从 auto 起,沿用旧印象会误判。
- 诀窍:敏感范围用 Manual,迭代看 diff 用 acceptEdits。 两者都比“干脆全部跳过”更容易收住。
- 诀窍:云端会话不要按 Manual 去找。 官方写过,claude.ai/code 的云端会话会预先放行文件编辑,下拉框因此显示 Accept edits,而不是 Manual。远程控制你自己电脑上的会话,仍可能看到 Manual。以当下拉框为准。
- 反例:在界面里找一个叫 Ask 的模式按钮,找不到就以为没有只读。 官方现页用的是 Manual。
- 反例:把 auto 当成 acceptEdits。 一个是分类器代审,一个是自动放行目录内编辑。要事后看 diff,应显式切到 acceptEdits。
- 反例:把 dontAsk 听成“别再问我”。 它是拒绝,不是放行。
- 反例:为了少点几次,开 bypassPermissions。 官方把它限制在隔离环境。
适用边界
- 本篇只谈 Claude Code 里权限模式怎么切:什么时候用 Manual,什么时候用 acceptEdits,以及不要把 auto、dontAsk、bypass 认错。不覆盖网页聊天里怎么写澄清问单,也不覆盖拒复刻游戏的护栏调整。
- 模式名称、起始默认、快捷键和云端下拉框会随版本变。以你安装的版本和登录后现页为准。可用
claude --version查看版本。 - 组织可能关掉 auto,或限制 bypass。被关掉以后,
--permission-mode auto会落到 Manual。 - 权限模式是基线。你还可以叠加允许、询问、拒绝规则。拒绝规则在所有模式里都生效,包括
bypassPermissions。本篇不展开规则怎么写。