Claude Code所有模式切换逻辑一篇说清:新手从入门到精通的完整指南
一、Claude Code 到底有几种模式?
先说结论:四种。按权限从最严格到完全放开,依次排列:
| 模式 | 一句话 | 能做什么 | 不能做什么 | 典型场景 |
|---|---|---|---|---|
| Plan Mode(计划模式) | 只动脑,不动手 | 读文件、搜索、写计划书 | 任何修改操作 | 设计架构、评估多方案、不确定怎么改时 |
| Default(默认模式) | 动手但每步要你点头 | 读 + 写,每次编辑需手动确认 | 自行执行高风险命令 | 日常开发,想把关每一步 |
| Accept Edits(接受编辑) | 改文件自动过,命令仍需确认 | 读 + 写文件自动通过 | 未经确认运行 Bash | 批量重命名、格式化、信任的重复性修改 |
| Auto Mode(自动模式) | 全放权,干完叫你 | 读 + 写 + Bash,全自动 | 无(但危险) | 跑测试、批量重构、CI 流程 |
一个比喻帮你记住
把这四种模式想象成装修队干活儿:Plan Mode 是设计师在画图纸,只管方案;Default 是工头每动一块砖都问你一句“行不行”;Accept Edits 是工头觉得靠谱就自己干了,但买材料还得问你;Auto Mode 呢,就是全包工,钥匙一交,等着验收就行。
二、怎么知道当前在什么模式?
看顶部状态栏
Claude Code 的屏幕顶部状态栏会显示当前模式名称,一目了然:
复制代码[default] ← 默认模式
[acceptEdits] ← 接受编辑
[plan] ← 计划模式
[auto] ← 自动模式
状态栏隐藏了怎么办?
如果状态栏被折叠起来了,按一次 Shift+Tab,它就会闪现出来——同时会切换到下一个模式。注意,再按一次就能切回来,所以这算是个“看一眼而不改变”的小技巧。
Plan Mode 特有标识
进入 Plan Mode 后,会话会被自动命名,比如 vulnerability-disclosure-plan 这种带 -plan 后缀的名字。如果你看到标题栏或启动提示里出现了这个后缀,不用怀疑,已经在计划模式里了。
三、怎么切换?四个入口
入口 1:快捷键 Shift+Tab(最常用)
按一次,状态栏会循环显示:
复制代码[default] → [acceptEdits] → [plan] → [default] → ...
看到你要的模式时就停手——再按它会继续循环下去。
入口 2:/plan 命令
直接在对话中输入 /plan,会立刻进入计划模式。适合“我想先讨论一下方案,别忙着动代码”。
入口 3:CLI 启动参数
复制代码claude --permission-mode plan # 启动即计划模式
claude --permission-mode auto # 启动即自动模式
claude --permission-mode default # 启动即默认模式
入口 4:永久设置(settings.json)
复制代码{
"permissions": {
"defaultMode": "plan"
}
}
设置好之后,每次启动都会默认进入你指定的模式。
四、最容易踩的四个坑
坑 1:AI 自己调用 EnterPlanMode,你不知道发生了什么
当你描述一个复杂需求时,Claude 有时会自己调用 EnterPlanMode 工具进入计划模式。你只会看到一个权限弹窗问“是否允许?”——但弹窗没有告诉你的是:
- 进入后不能写代码
- 会创建一个 plan 文件到
.claude/plans/ - 会话会被标记上计划名称
怎么办:弹窗出现时点“拒绝”,然后口头告诉 Claude “先给方案,不用进计划模式”。或者允许进入后,用 Shift+Tab 随时退出。
坑 2:Plan Mode 下让 Claude 改代码——它不拒绝你,只是什么都没改
这是最隐蔽的坑。你在 Plan Mode 下说“帮我把 user_id 改成 userId”——
Claude 会输出一段代码,说“你应该改成这样”。你以为它改了,实际上文件纹丝未动。因为 Plan Mode 禁用了所有写操作,但 Claude 不会主动告诉你“我现在不能改文件”。
怎么发现:如果你发现 Claude 一直在输出“建议的修改”,但从没见过文件确认弹窗——那么十有八九,状态栏上写着 [plan]。
怎么办:Shift+Tab 切回 [default],然后再说一次“执行刚才的修改”。
坑 3:切到 Auto Mode 忘了切回来
Auto Mode 下,Claude 能自己改文件、跑命令。你说了句“帮我把 id 改成 UUID”,它可能一口气改了 20 个文件——而你还没反应过来。市场上不乏这样的案例:有人因此丢了半天的工作成果。
怎么办:只在目标明确、后果可控时才用 Auto。建议 Auto 使用完毕后,立即 Shift+Tab 切回 Default。
坑 4:不知道 Accept Edits 这一档的存在
Default 和 Auto 之间,其实还卡着一档 Accept Edits——文件修改自动通过,但命令仍需手动确认。不少开发者没注意到这个中间地带:
- 要么太保守(Default,每次改文件都点确认,点到手酸)
- 要么太激进(Auto,全放权,然后后悔)
怎么办:重复性改文件时,就切换到 Accept Edits。Shift+Tab 循环到 [acceptEdits] 停住。改完再切回 Default。
五、实战场景速查
| 你的意图 | 用什么模式 | 怎么进入 |
|---|---|---|
| "这个架构怎么设计好?" | Plan | /plan |
| "先看看有哪些文件要改,别动手" | Plan | Shift+Tab |
| "加一个工具函数" | Default | 默认就是 |
"把这 10 个文件里的 var 全改成 const" | Accept Edits | Shift+Tab |
| "跑测试,失败就自动修,修完再跑" | Auto | Shift+Tab |
| Claude 弹窗申请进 Plan Mode | 拒绝 | 口头告诉它"先讨论不改代码" |
| 发现自己在 Plan Mode 里出不去 | 切回 Default | Shift+Tab 循环两次 |
六、Power User 技巧
opusplan:让最强的模型做规划,最快的模型做执行
Claude Code 内置了一个 opusplan 模型别名,思路很简单:
| 阶段 | 自动使用模型 | 为什么 |
|---|---|---|
| Plan Mode(规划) | Opus | 推理能力最强,适合架构设计 |
| 代码执行(实现) | Sonnet | 更快更便宜,代码生成质量接近 |
你不需要手动切换模型——在 Plan Mode 下写好方案,批准执行时模型自动切换。如果项目设置了 opusplan 作为默认模型,这个优化全程自动生效。
用 /effort 控制思考深度
复制代码/effort low # 简单任务,快速响应
/effort medium # 日常开发(默认)
/effort high # 复杂逻辑
/effort max # 架构设计、安全审计
和 Plan Mode 搭配效果最好:Plan Mode + high/max effort = 顶级的代码审查和方案设计。
双 Claude 工作流(官方推荐)
Anthropic 团队推荐的做法是:用两个 Claude 互相审查,比一个 Claude 自说自话要安全得多。
七、模式决策流程图
复制代码你有一个需求
│
不确定怎么改?
├── 是 → /plan(先讨论)
│ └── 方案定了 → Shift+Tab 切 Default → 执行
│
确定怎么改,但量大?
├── 是 → Accept Edits(改文件自动过,命令需确认)
│ └── 改完 → Shift+Tab 切回 Default
│
确定怎么改,就一两个文件?
├── 是 → Default(正常改)
│
需要自动化循环(改→测→改→测)?
└── 是 → Auto(全自动)
└── 搞完立刻切回 Default
八、总结
| 你要做的事 | 最短路径 |
|---|---|
| 先讨论不改代码 | /plan |
| 正常开发,每步看一眼 | 保持 Default |
| 批量修改,信任但不全放手 | Shift+Tab → Accept Edits |
| 自动化流程 | Shift+Tab → Auto |
| 退出当前模式 | Shift+Tab 继续循环 |
| 确认当前模式 | 看顶部状态栏,或按一次 Shift+Tab 查看 |
| 让 Claude 做最难的规划 | Plan Mode + /effort max |
