你有没有遇到过:让 Claude Code 做个修改,它直接冲进去改了十几个文件,结果越改越乱,比原来更难维护?
根源在于:没有先规划,直接动手。Plan Mode 就是解药。
Plan Mode 是什么?
Plan Mode 下:
- ✅ 可以读取所有文件、搜索代码库
- ❌ 不能写入任何文件、不能执行命令
只看、只想、不动手。等你说「OK,按这个方案做」,再切换执行。
怎么进入
按 Shift+Tab 循环切换
default → acceptEdits → plan
启动时指定
bash
claude --permission-mode plan典型工作流
场景:重构认证模块
第一步(plan 模式):
text
分析 src/auth/ 的认证逻辑,把回调式改成 async/await 的影响范围,
列出修改的文件和步骤,以及可能的风险点。Claude 输出:
影响文件(12 个):
- src/auth/login.ts(主要修改)
- src/auth/session.ts(接口调整)
- src/middleware/auth.ts
- ... 9 个调用方
步骤:
1. 改 login.ts 的回调为 async/await
2. 更新 session.ts 接口
3. 新增统一错误处理 auth/errors.ts
风险:session token 刷新存在并发竞态,需特别处理
第二步:审阅方案,没问题就切换执行:
text
好,按步骤 1、2 先来,步骤 3 稍后→ 按 Shift+Tab 切到 acceptEdits,Claude 开始执行。
方案有问题?继续在 plan 模式里调整:
text
步骤 3 先不做,另外 src/api/payments.ts 会不会受影响?Claude 继续分析,不改任何代码。
Plan Mode 的 4 大价值
1. 摸清真实影响范围 很多修改看起来简单,实际影响的文件比预期多得多。
2. 提前发现风险 只读模式下 Claude 能更仔细地分析,不会「将就着改完算了」。
3. 你来把控方向 在执行前充分审阅、调整方案,你是主导者。
4. 避免「越改越烂」 先把复杂性摊开,再有条理地解决。
什么时候用 Plan Mode?
| 适合 | 不适合 |
|---|---|
| 重构影响多个文件 | 简单单文件修改 |
| 横跨多模块的新功能 | 快速 bug 修复 |
| 探索陌生代码库 | 已经明确知道要改哪里 |
| 不确定影响范围 | 写注释或文档 |
高级:Plan Mode + /todo + 子 Agent
对大型任务:
text
[plan 模式]
分析 JS → TS 迁移的完整计划:
哪些文件需要改、建议顺序、每阶段验证方式、工作量预估
[确认方案后]
把执行步骤整理成 /todo 任务清单
第一阶段(工具类)启动 3 个子 Agent 并行处理来源:Claude Code 权限模式文档 | 整理:ClaudeEagle