跳转至

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 属于 Agents context,用于切换 session 分组,不走 chat:stash。
  • Alt + V 与 Ctrl + V:Windows 上 Ctrl + V 仍是终端/系统的普通文本粘贴,只有 Alt + V 会走 Claude Code 的图片粘贴。
  • Ctrl + Shift + Z 是自定义绑定:写在 ~/.claude/keybindings.json 的 Chat context 里,值为 command:commit。它的行为是立即提交 /commit(等同敲入并回车),不是填入输入框等待确认;command: 前缀只能在 Chat context 使用。

/goal

它是什么?

/goal 用来给 Claude Code 设定一个完成条件(condition)。设好之后,Claude 会跨多轮持续工作,直到这个条件被判定为达成才停下——而不是像平常那样"做完一轮就把控制权交还给你,等你确认后再继续"。

while (goal not achieved) { keep working }

普通的提问是一问一答(Claude 做一轮 → 停下 → 你看结果 → 再追问),/goal 把这中间"再追问"的活儿接管了:它自己接着开下一轮,直到达标。

工作机制:由「另一个模型」当裁判

  • 每个回合结束后,会有一个独立的、更小的模型读取会话记录,只回答一个问题:条件达成了吗?是 / 否。
  • 关键点:判定者不是干活的模型本身。这是为了避免"自己给自己判分"——模型把没做完的事说成做完了(幻觉式完成),或偷懒早停。

语法与子命令

写法 作用
/goal <条件> 设置(或替换)当前目标,并立即开始下一轮,无需另外发指令
/goal 显示当前目标状态:条件、已运行时长、评估轮数、Token 消耗、评估模型的最近一次理由;若没有活动目标,则显示最近达成的那个
/goal clear 提前移除目标。别名:stop、off、reset、none、cancel
  • 条件不能为空,且最长 4000 字符。
  • 执行 /clear 开新会话时,活动目标会一并清除。

什么时候会停下来

满足任意一条即停止:

  1. 评估模型确认条件已达成;
  2. 评估模型判定该条件无法达成;
  3. 遇到必须由你手动修复的错误(会提示 Goal cleared after an unrecoverable error);
  4. 你执行 /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

含义是向名为 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,保持命令格式一致。