只让 Claude 加一个功能,结果改动的文件比预期多——这种事并不少见。Plan Mode 会在真正改代码之前,先告诉你要动哪些文件、为什么要动。Claude 会读项目里的文件、整理要做的工作,然后给出一份计划。你审阅之后,再决定是否动手。

比方说,要给待办列表加上截止日期。是不是改一下界面就够了?日期存在哪里、列表里怎么显示,往往也要一起看。这种时候用 Plan Mode,可以在 Claude 改文件之前,先看清它打算覆盖的范围。

什么时候值得用

要一起改多个文件,或项目还不熟、需要先摸清结构时,Plan Mode 很有用。实现办法有两种以上、想先比较利弊时,也可以先规划。

反过来,按钮文案写错了这种改什么、改哪里都很清楚的事,直接让它改就行。不是每次都要先走规划。

1. 先打开 Plan Mode

在终端进入项目目录,用下面的命令启动 Claude Code:

claude --permission-mode plan

如果已经在会话里,按 Shift+Tab,直到状态栏出现 plan mode on。看到这行,就是规划模式已打开。也可以在单条提示前加上 /plan

2. 说清想要的结果,以及这次不要动什么

下面假设你要给待办应用加上截止日期。可以直接用,也可以按自己的任务改写。

我想在待办列表里加上截止日期。
先不要改文件。请先看现有代码,再给出一份计划。

完成后应该是这样:
- 每条待办都能填写截止日期,并在列表里看到。
- 还没有日期的旧待办也要正常显示。

这次不要动:
- 登录功能和列表的整体设计保持原样。

计划里请写明:
1. 会改哪些文件,以及每个文件为什么要改
2. 建议的实现顺序
3. 做完后要跑哪些测试、看哪个画面

如果日期显示格式需要先定,请在动手前问我。

比起只说「加个截止日期」,这份请求补上了完成标准和范围。尤其是「没有日期的旧待办也要正常显示」这一条,会让计划同时覆盖新功能,以及如何保住现有行为。要写的是做完之后应该出现什么,而不是用哪个库、哪种写法、文件怎么摆。

3. 读计划,改完再批准

Claude 给出计划后,先核对这三点:

  • 改动范围: 有没有把登录功能或整体设计也卷进来?那些和截止日期无关。
  • 漏掉的情况: 没有日期的待办怎么处理?存下来的日期重新打开时,还能正确显示吗?
  • 怎么验收: 实现之后要跑哪些测试、看哪个画面?

缺了就先别批准,补一句「请把没有日期的旧条目怎么处理也写进计划」。还要继续改计划的话,在批准提示里选 No, keep planning。选了会留在 Plan Mode 里改计划,而不是开始改文件。

也可以按 Ctrl+G,在编辑器里打开计划正文,直接改那段文字。这不是跳过某一步,而是编辑计划本身。

计划合适就批准,实现才会开始。实现结束后,再核对实际改动和测试结果。计划写得好,并不等于代码已经能用。离开或批准之后,再按 Shift+Tab,或在下一条提示前加上 /plan,才会重新进入 Plan Mode。

Plan Mode 在摸清代码时仍可能执行命令。不要把它当成只能写备忘的屏幕:它的用处是改文件之前,先把这次要动的范围看清楚。

来源