Claude Code 常用命令
/init
- 初始化项目,扫描项目,生成
CLAUDE.md文件。最开始必须做。
/init 生成的 CLAUDE.md 文件有什么用?
它是什么?
执行 /init 后,Claude Code 会扫描你的项目结构(文件夹、入口文件、构建配置、依赖、README 等),自动在项目根目录生成一个 CLAUDE.md 文件,用来描述这个项目的概况和约定。
它有什么作用?
CLAUDE.md 本质上是项目的"说明书"或"使用手册",每次启动 Claude Code 时,我都会自动读取它,从而:
| 作用 | 说明 |
|---|---|
| 📖 了解项目 | 快速知道这是什么项目、用什么技术栈、目录结构如何 |
| 🧭 遵循约定 | 记住你定下的代码规范、命名习惯、Git 提交格式等 |
| ⚙️ 掌握命令 | 记录如何启动、构建、测试、部署这个项目 |
| 🚀 避免踩坑 | 记录注意事项(比如哪些文件别改、哪个目录不能动) |
| 🤝 保持一致 | 让每次会话、每个协作者都按同一套规则工作 |
一句话总结:CLAUDE.md 就是给我(Claude Code)看的项目简介——有了它,我就能"懂这个项目",按你的规矩干活;没有它,每次都要靠你口头解释。
需要手动维护吗?
/init只生成一次,之后不会自动更新。当项目结构或约定变了,需要再次运行/init或让我帮你更新,否则里面的信息可能过时、产生误导。- 你可以在
CLAUDE.md里手动添加你特意规定的规则(比如"禁止安装第三方包""提交信息用中文"等),我每次都会遵守。 - 我(当前这个 AI 会话)的说明也写在
CLAUDE.md里,你可以直接打开它查看。
💡 小提示:
CLAUDE.md通常会被加入.gitignore,不会随代码提交到 GitHub,属于本地项目约定文件。如果你希望团队成员也共享这套规则,可以单独把这个文件同步给团队。
权限授予
| 配置方案 | 核心命令 / 配置 | 适用场景 | 安全性 | 便捷性 |
|---|---|---|---|---|
| 最激进方法 | claude --dangerously-skip-permissions |
CI/CD、容器等完全隔离的自动化环境 | 🔴 低 | 🟢 高 |
| Headless 模式 | claude -p "<你的指令>" |
脚本集成、单次自动化任务 | 🟡 中 | 🟢 高 |
| Auto 模式 (推荐) | claude --enable-auto-mode |
日常开发的长时运行任务 | 🟡 中高 | 🟢 高 |
| 预授权模式 | claude --permission-mode acceptEdits |
日常开发,自动接受文件编辑 | 🟡 中 | 🟢 高 |
| 手动配置模式 | 编辑 .claude/settings.json 文件 |
长期、精细化的项目或全局配置 | 🟢 中高 (可定制) | 🟡 中 |
常用斜杠命令
| 命令 | 用途 |
|---|---|
/init |
初始化项目,生成 CLAUDE.md。此文件不会自动更新,在项目更改完之后,应重复运行这个命令更新此文件,若此文件中有自己特意规定的规则,可用对话的形式让 AI 更新此文件,否则,下次新开这个项目时,此文件会产生误导 |
/add-dir |
增加工作目录 |
/cd |
迁移当前会话到新工作目录 |
/clear |
清除上下文,开启新会话(旧会话可 /resume 恢复) |
/compact |
压缩上下文,减少 Token 消耗 |
/cost |
查看 Token 消耗和费用 |
/background |
把会话挂到后台,释放终端 |
/resume |
恢复之前挂起或退出的会话 |
/branch |
从当前节点创建对话分支 |
/btw <问题> |
旁白插话,不打断主线对话 |
/plan |
先写执行计划,确认后再执行 |
/batch |
大规模变更:拆成多个 worktree 并行执行 |
/goal |
设定一个「完成条件」,Claude 会跨多轮持续工作,直到条件被独立评估模型判定为达成;不带参数显示当前/最近达成的目标,/goal clear 可提前清除 |
/review |
代码审查 |
/diff |
查看当前会话所有文件变更 |
/undo |
撤销最后一次文件编辑 |
/commit |
自动生成 commit message 并提交 |
/pr |
创建 GitHub Pull Request |
/bug |
报告 bug 或分享当前对话 |
/doctor |
检查 CC 状态、项目环境 |
/export |
导出当前会话 |
/settings |
打开交互式设置 |
/mcp |
管理 MCP 服务器 |
/memory |
显示已加载的 CLAUDE.md |
/claude-api |
Claude API / SDK 参考 |
/keybindings |
自定义快捷键 |
/help |
显示所有命令 |
/exit |
退出 |
💡 关于
/agents:help 里已标记为(removed),现在直接编辑.claude/agents/目录即可创建子代理,不需要命令了。
快捷键
| 快捷键 | 用途 |
|---|---|
Shift + Tab |
切换模式(如 accept edits on / plan mode on / auto mode on / manual mode on 模式) |
Ctrl + J |
换行 |
Shift + Enter |
换行(另一种方式) |
! |
进入 Shell 模式 |
/ |
进入命令模式 |
@ |
引用文件路径 |
Tab |
接受自动补全 |
Ctrl + C |
中断当前操作;输入框有暂存草稿时丢弃该草稿 |
Ctrl + O |
Verbose 输出(详细模式) |
Ctrl + T |
切换 Tasks 面板 |
Ctrl + S(输入框有草稿) |
暂存草稿,输入框清空 |
Ctrl + S(输入框为空) |
把暂存的草稿恢复回输入框 |
Ctrl + G |
在系统编辑器中编辑 |
Ctrl + Shift + _ |
撤销(Undo) |
Alt + V |
粘贴图片(chat:imagePaste,Windows / WSL 默认键位) |
Alt + P |
切换模型 |
Alt + C |
立即执行 /commit(自定义绑定,command:commit) |
Esc Esc |
双击 Esc 清空输入 |
↑ / ↓ |
浏览输入历史 |
Ctrl + R |
反向搜索历史 |
Ctrl + L |
清屏 |
Ctrl + D |
退出(空输入时) |
Ctrl + S的 stash 思路:等同于 git stash 搬到输入框。写到一半要先问别的事时,Ctrl + S收走草稿,问完再按Ctrl + S恢复回输入框。- agent view 特例:在
claude agents里Ctrl + S属于Agentscontext,用于切换 session 分组,不走chat:stash。Alt + V与Ctrl + V:Windows 上Ctrl + V仍是终端/系统的普通文本粘贴,只有Alt + V会走 Claude Code 的图片粘贴。Ctrl + Shift + Z是自定义绑定:写在~/.claude/keybindings.json的Chatcontext 里,值为command:commit。它的行为是立即提交/commit(等同敲入并回车),不是填入输入框等待确认;command:前缀只能在Chatcontext 使用。
/goal
它是什么?
/goal 用来给 Claude Code 设定一个完成条件(condition)。设好之后,Claude 会跨多轮持续工作,直到这个条件被判定为达成才停下——而不是像平常那样"做完一轮就把控制权交还给你,等你确认后再继续"。
普通的提问是一问一答(Claude 做一轮 → 停下 → 你看结果 → 再追问),/goal 把这中间"再追问"的活儿接管了:它自己接着开下一轮,直到达标。
工作机制:由「另一个模型」当裁判
- 每个回合结束后,会有一个独立的、更小的模型读取会话记录,只回答一个问题:条件达成了吗?是 / 否。
- 关键点:判定者不是干活的模型本身。这是为了避免"自己给自己判分"——模型把没做完的事说成做完了(幻觉式完成),或偷懒早停。
语法与子命令
| 写法 | 作用 |
|---|---|
/goal <条件> |
设置(或替换)当前目标,并立即开始下一轮,无需另外发指令 |
/goal |
显示当前目标状态:条件、已运行时长、评估轮数、Token 消耗、评估模型的最近一次理由;若没有活动目标,则显示最近达成的那个 |
/goal clear |
提前移除目标。别名:stop、off、reset、none、cancel |
- 条件不能为空,且最长 4000 字符。
- 执行
/clear开新会话时,活动目标会一并清除。
什么时候会停下来
满足任意一条即停止:
- 评估模型确认条件已达成;
- 评估模型判定该条件无法达成;
- 遇到必须由你手动修复的错误(会提示
Goal cleared after an unrecoverable error); - 你执行
/goal clear。
核心前提:条件必须「可验证」
条件要能被一条命令检查出干净的 是 / 否:
- ✅
test/auth 目录下的测试全部通过,且 lint 无报错 - ✅
npm run build 的退出码为 0 - ❌
把代码写得好一点(无法判定,会来回打转或乱停)
💡 条件越像"能跑的检查命令",效果越好;越像"开放式的需求描述",越容易陷入死循环。
与 /loop 的区别
| 方式 | 下一轮何时开始 | 何时停止 |
|---|---|---|
/goal |
上一轮结束即开始(或空闲的 check-in / 自动重试到期时) | 模型确认达成 / 判定不可能 / 致命错误 / 你执行 /goal clear |
/loop |
时间间隔到了才开始 | 你手动停止,或 Claude 自己认为做完了 |
| Stop hook | 上一轮结束 | 由你自己的脚本或提示词决定 |
使用建议
- 适用:有明确终点的多步任务,例如"迁移所有调用点直到测试通过""清空某个 label 的 issue 队列""把大文件拆到每块都低于某个体积"。
- 不适用:头脑风暴、探索性改动,或"完成"标准无法用一句话说清的任务。
- 配套:建议同时开启 auto mode 或 bypass permissions,否则逐工具的权限弹窗会不断打断自动循环。
- 安全网:务必先做好版本控制(Git),自主产出的代码仍要按正常 PR 标准审查。
- 支持在非交互模式下使用:
claude -p "/goal CHANGELOG.md 覆盖本周合并的每个 PR",可用于脚本 / CI。 - 用
--resume/--continue恢复会话时,条件会一并带过来,但轮数、计时器与 Token 基线会重置;已达成或被清除的目标不会恢复。
/list-agents(别名 /peers)
它是什么?
/list-agents 用于列出所有 Claude 可以发送消息的 Subagents(子代理)、Agent Team 队友以及其他 Claude Code 会话,并显示每个会话使用的名称。
- 作用:在进行跨会话消息传递时,帮助你查看当前有哪些"同伴"在线,以便通过名称向它们发送指令或消息。
- 别名:
/peers。 - 版本要求:需要 Claude Code v2.1.224 或更高版本;版本过低会提示
Unknown command: /list-agents。
@会话名:向指定会话 / Agent 发消息
格式为 @<对话名>,例如:
含义是向名为 weekly-digest 的会话 / Agent 发消息,即俗称的"@他"。注意 weekly-digest 本身不是内置技能名,只是某个会话的自定义名称——配合 /rename 命名会话后,即可用 @名称 精准呼叫它。
/rename:重命名当前会话
它是什么?
/rename 用于给当前 Claude Code 会话重命名,完整格式为 /rename [name]。
- 作用:将会话命名为指定名称(如
frontend-web),便于在/list-agents列表或/resume恢复会话时识别。 - 不带参数:Claude 会根据对话内容自动生成一个名称。
- 相关命令:也可在启动时通过 CLI 参数
--name frontend-web直接指定会话名称。
Concise 输出风格(Output Style)
它是什么?
Concise 是 Claude Code 内置的一种 Output Style(输出风格),在 v2.1.237 版本中加入。
- 作用:让 Claude 的回复直接给出结果,跳过开场白、步骤叙述和结尾总结。简单问题通常用 1–3 句话回答,但工程工作的彻底程度与默认风格保持一致。
- 重要原则:Concise 不会为了简洁而牺牲正确性——错误报告、安全警告、失败测试的完整输出仍会原样保留。
- 启用方式:通过
/config→ Output style 选择 Concise,或直接使用/output-style concise切换。
/design:生成 UI 设计稿
它是什么?
/design 是一个用于 UI 设计草稿的命令,基于 Claude Design 的 artboard 工作流,以 Artifact 形式呈现。
- 作用:你提供一个设计简述(brief),Claude 会在一个画布上生成多个可编辑的 artboard,作为 UI 设计稿。可在桌面浏览器中打开 Artifact 查看、编辑,并导出为 PNG 或 PDF。
- 典型用法:
/design a settings screen for a mobile banking app/design a few options for {feature}(生成多个方案供你挑选)- 版本要求:需要 Claude Code v2.1.265 或更高版本,且会话支持 Artifact 功能。
💡 小结:
/list-agents用于查看可通信的会话列表,@weekly-digest向名为 weekly-digest 的会话 / Agent 发消息,/rename frontend-web给当前会话命名,Concise是精简输出风格,/design用于快速生成 UI 设计草稿。它们分别覆盖协作、会话管理、输出控制、设计辅助几个使用场景。
配置文件路径
| 路径 | 用途 |
|---|---|
~/.claude/settings.json |
全局配置(所有项目生效) |
.claude/settings.json |
项目级配置(仅当前项目) |
.claude/CLAUDE.md |
项目级系统提示(/init 自动生成) |
~/.claude/commands/ |
自定义斜杠命令目录 |
实用技巧
| 技巧 | 说明 |
|---|---|
CLAUDE_CODE_DEBUG=1 claude |
以调试模式启动,查看详细日志 |
claude -p "指令" |
Headless 模式,执行完自动退出,适合脚本 |
claude --print |
非交互模式,直接输出结果到 stdout |
@文件名 |
在对话中快速引用某个文件 |
@文件夹名/ |
引用整个文件夹作为上下文 |
git diff 后问 Claude |
直接粘贴 diff 让 Claude 做 code review |
| 多行输入 | 用 Ctrl + Shift + Enter 换行,写长 prompt 更方便 |
/compact 时机 |
当上下文超过 50k tokens 或 Claude 开始"失忆"时用 |
| 会话恢复 | /resume 可以找回之前的对话,但重启终端后可能失效,重要内容及时 /export |
补充说明
//memory和//add-dir你原文里写的是双斜杠,Claude Code 标准命令是单斜杠(/memory、/add-dir),双斜杠在部分旧版本或自定义配置中可能作为注释/特殊语法存在,建议统一用单斜杠。/doctor前面建议也加上斜杠写成/doctor,保持命令格式一致。