Claude Code /plan 详解:先想清楚再动手
为什么需要 /plan
用 Claude Code 做开发,最怕的不是 Claude 写不出代码,而是它写了一堆代码,方向却是错的。
一个涉及十几个文件的重构任务,Claude 二话不说就开始改。改到一半你发现思路不对,但文件已经被改了七八个了。回退?代价太大。继续?越改越乱。
还有一种场景:你想让 Claude 帮你理一理代码架构,看看哪里可以优化。但你一开口,它就开始动手改代码了——你只是想聊聊方案,还没说开始呢。
问题的根源是:Claude 默认就是”干活模式”,不会先停下来想一想。
这时候你需要 /plan。
/plan 是什么
/plan 是 Claude Code 的只读规划模式。进入这��模式后,Claude 只能读代码、搜代码、分析代码,但不能写文件、不能改代码、不能执行命令。
在交互模式下输入:
/plan
或者按两次 Shift+Tab,底部状态栏会显示 ⏸ plan mode on,表示已进入规划模式。
在这个模式下,Claude 会:
- 分析代码库:阅读文件、搜索关键字、理解项目结构
- 制定实施方案:把方案写成 Markdown 文件,保存到计划目录
- 等待你确认:方案确认后才退出规划模式,开始执行
简单说,/plan 回答的是一个问题:该怎么做,而不是直接去做。
如何进入和退出 Plan Mode
进入 Plan Mode 有三种方式:
方式一:Shift+Tab 快捷键
在 Claude Code 交互界面中:
- 第一次按 Shift+Tab:进入自动接受模式(
⏵⏵ accept edits on) - 第二次按 Shift+Tab:进入规划模式(
⏸ plan mode on)
方式二:/plan 命令
直接输入斜杠命令:
/plan
效果和快捷键一样,适合记不住快捷键的时候用。
方式三:启动参数
启动 Claude Code 时直接进入规划模式:
claude --permission-mode plan
也可以在无头模式下使用:
claude --permission-mode plan -p "分析认证系统,给出优化建议"
如何退出
再按一次 Shift+Tab 即可退出规划模式。退出时,Claude 会额外确认一次接下来要执行的任务——这是一个安全机制,确保你真的准备好了再动手。
Plan Mode 可用的工具
规划模式的核心原则是只读不写。以下是工具的可用情况:
可用工具(只读类)
| 工具 | 作用 |
|---|---|
| Read | 读取文件内容 |
| Glob | 按模式搜索文件 |
| Grep | 搜索文件内容 |
| WebSearch | 搜索网络信息 |
| WebFetch | 获取网页内容 |
| TodoWrite | 管理任务列表 |
| Agent | 派出子 Agent 做调研 |
被禁用的工具(写入类)
| 工具 | 原因 |
|---|---|
| Edit | 不能编辑文件 |
| Write | 不能创建文件 |
| Bash | 不能执行命令 |
| NotebookEdit | 不能修改 Notebook |
为什么要这么设计? 因为规划阶段就不应该有任何副作用。你让 Claude 分析问题、制定方案,它就只做这件事。想清楚了,确认了,退出规划模式再执行。
计划文件的存储与管理
Plan Mode 生成的方案不是一次性的——它会被保存成 Markdown 文件,持久化存储。
默认存储位置
计划文件默认存在:
~/.claude/plans/
文件名是随机生成的,比如 dreamy-orbiting-quokka.md。每个文件就是一份完整的实施方案。
计划文件的特点
- 跨会话持久化:关闭 Claude Code 再打开,计划文件还在
- 不受上下文压缩影响:即使对话被压缩,计划文件也不会丢失
- 可人工编辑:你可以直接打开 Markdown 文件,加批注、改方案
自定义存储目录
如果你想把计划文件放进项目仓库,方便团队协作和版本管理,可以在 settings.json 里配置:
{
"plansDirectory": "./plans"
}
这样计划文件会保存在项目根目录的 plans/ 文件夹下,可以:
- 提 PR 时附带方案:团队成员在代码审查前先看方案
- 跨会话保留批注:不依赖上下文压缩,批注永远在
- 多人协作编辑:把计划文件当作活的技术文档
实际使用场景
场景一:大型重构前的规划
要重构认证系统,涉及十几个文件。先进规划模式让 Claude 理清楚:
/plan
重构认证系统,从 session 迁移到 JWT,列出需要改动的所有文件和步骤
Claude 会读遍相关代码,输出一份详细的实施方案:哪些文件要改、改什么、先后顺序是什么。你确认方案没问题,再退出规划模式开始执行。
场景二:代码审计与架构分析
不想改代码,只想让 Claude 帮你看看代码质量:
/plan
分析项目的错误处理模式,找出不一致的地方,给出改进建议
Plan Mode 天然适合这种场景——只读分析,输出报告,不碰任何代码。
场景三:多人协作的方案对齐
团队要做一个大功能,先让 Claude 出方案,存进项目仓库:
{
"plansDirectory": "./plans"
}
/plan
设计消息推送功能的技术方案,包括架构选型、数据模型、API 设计
方案生成后,团队成员可以在 Markdown 文件上直接加批注,多轮迭代,达成共识后再动手。
场景四:不熟悉的代码库快速上手
接手一个陌生项目,先用 Plan Mode 让 Claude 帮你摸清全貌:
/plan
分析这个项目的整体架构,核心模块有哪些,数据流是怎么走的
Claude 会系统地阅读代码、搜索关键文件,给你一份项目全景图。比你自己翻代码效率高得多。
实用技巧
技巧一:善用 Opus Plan Mode
在 /model 命令中选择第 4 项:「Use Opus in plan mode, Sonnet 4.6 otherwise」。这样规划阶段用 Opus(更强的推理能力),执行阶段用 Sonnet(更快的速度)。想的时候用大脑,干的时候用手速。
技巧二:把计划文件放进仓库
配置 plansDirectory 为项目相对路径,让计划文件跟着代码走。好处是方案可以提 PR 审查、可以 Git 追踪变更历史、可以多人批注迭代。
技巧三:多轮迭代批注
计划文件生成后不要急着确认。打开 Markdown 文件,在你觉得不对的地方加批注,然后让 Claude 根据批注更新方案。三轮迭代下来,一个泛泛的方案就能变成完全贴合项目的实施计划。
技巧四:注意 7 文件法则
经验表明,涉及 7 个以上文件的计划,执行质量会下降。因为上下文窗口在执行阶段会被大量代码填满。如果方案涉及太多文件,考虑拆分成多个小计划分步执行。
写在最后
/plan 解决的问题很简单:让 Claude 先想清楚再动手。
用 Claude Code 做开发,最大的效率杀手不是 Claude 写代码慢,而是方向错了要返工。一个复杂任务,如果一上来就让 Claude 开干,改到一半发现不对,前面的工作全白费。
先进规划模式,让 Claude 把代码读透、方案理清、你确认没问题再开始。慢就是快,想清楚就是最大的效率。
一个命令,让每次改动都心中有数。
更多同类文章
- 我做了个机器人,让团队在飞书里用 Claude Code
- Claude Code /fast:同样的 Opus,两倍速——值不值?
- Claude Code /init:10 秒自动生成 CLAUDE.md
- Claude Code MCP:让 AI 连接 GitHub、数据库等一切工具
- Claude Code /model:Opus、Sonnet、Haiku 怎么选?
- Claude Code 使用指南:从安装到实战,一篇就够(2026)
- Claude 全家桶:从聊天到写代码到自动办公,一文讲清楚
- CCBot - 研发提效 24 倍
- 震惊!程序员用这个工具,4分钟干完95分钟的活!效率暴涨24倍
- Claude Code /add-dir:被低估的 Monorepo 神器
- Claude Code /compact:释放上下文,不丢进度
- Claude Code /btw 命令详解:不打扰主线的快问快答
- Claude Code /stats:看看 AI 到底帮你写了多少代码
- Claude Code /status 命令详解:一眼看清会话全貌
- AI-first 创业公司,为什么只需要一种编程语言?
- Claude Code 引用外部知识的最佳实践:GitHub MCP + Context7
- Claude Code 省 Token 小技巧:感叹号的妙用
- Claude Code /resume 命令详解:别让对话白聊
- Claude Code /usage 命令详解:你的额度还剩多少
- Claude Code /tasks 命令详解:后台任务尽在掌控
- Claude Code Skills 详解:打造你的专属命令库
- Claude Code /memory 详解:让 AI 真正记住你的项目
- cc-ping:一行命令 Ping 所有 Claude Code 配置