文章目录
- 概述
- 交互式命令
- 命令行标志
- 常用命令参考
- 基础/交互式命令
- 更新和安装
- 配置:交互式向导 + 直接操作
- 示例项目范围设置
- 管理列表设置(项目范围)
- 全局范围(使用 -g 或 --global)
- MCP(模型上下文协议)管理
- 其他有用的标志(打印/SDK 模式)
- 界面和输入
- 命令历史
概述
本文档提供了 Claude Code 的完整命令集,包括交互式命令、命令行标志、快捷方式等。
交互式命令
在 Claude Code 交互模式中可用的命令:
| 命令 | 目的 |
|---|
| /add-dir | 添加额外的工作目录 |
| /agents | 管理用于专门任务的自定义 AI 子代理 |
| /bug | 报告错误(将对话发送到 Anthropic) |
| /clear | 清除对话历史 |
| /compact [instructions] | 使用可选的焦点指令压缩对话 |
| /config | 查看/修改配置 |
| /cost | 显示令牌使用统计和计费信息 |
| /doctor | 检查 Claude Code 安装的健康状况 |
| /help | 获取使用帮助 |
| /init | 用 CLAUDE.md 指南初始化项目 |
| /login | 切换 Anthropic 账户 |
| /logout | 从 Anthropic 账户登出 |
| /mcp | 管理 MCP 服务器连接和 OAuth 认证 |
| /memory | 编辑 CLAUDE.md 内存文件 |
| /model | 选择或更改 AI 模型 |
| /permissions | 查看或更新工具权限 |
| /pr_comments | 查看拉取请求评论 |
| /review | 请求代码审查 |
| /status | 查看账户和系统状态 |
| /terminal-setup | 安装 Shift+Enter 键绑定以换行(仅适用于 iTerm2 和 VSCode) |
| /vim | 进入 vim 模式以交替插入和命令模式 |
命令行标志
| 标志 / 命令 | 描述 | 示例 |
|---|
| -d, --debug | 启用调试模式(显示详细调试输出) | claude -d -p "query" |
| –include-partial-messages | 通过 CLI 标志支持部分消息流 |
| –mcp-debug | [已弃用] MCP 调试模式(显示 MCP 服务器错误)。请改用 --debug | claude --mcp-debug |
| –verbose | 覆盖配置中的详细模式设置(显示扩展日志/逐轮输出) | claude --verbose |
| -p, --print | 打印响应并退出(用于管道输出) | claude -p "query" |
| –output-format | 输出格式(仅与 --print 一起工作):text(默认)、json(单个结果)或 stream-json(实时流) | claude -p "query" --output-format json |
| –input-format | 输入格式(仅与 --print 一起工作):text(默认)或 stream-json(实时流输入) | claude -p --output-format stream-json --input-format stream-json |
| –replay-user-messages | 将用户消息从标准输入重新发送回标准输出以确认 — 仅与 --input-format=stream-json 和 --output-format=stream-json 一起工作 | claude --input-format stream-json --output-format stream-json --replay-user-messages |
| –allowedTools, --allowed-tools <tools…> | 允许的工具名称的逗号/空格分隔列表(例如 “Bash(git:*) Edit”) | --allowed-tools "Bash(git:*)" Edit" |
| –disallowedTools, --disallowed-tools <tools…> | 拒绝的工具名称的逗号/空格分隔列表(例如 “Bash(git:*) Edit”) | --disallowed-tools "Edit" |
| –mcp-config <configs…> | 从 JSON 文件或字符串加载 MCP 服务器(空格分隔) | claude --mcp-config ./mcp-servers.json |
| –strict-mcp-config | 仅使用来自 --mcp-config 的 MCP 服务器,忽略其他 MCP 配置 | claude --mcp-config ./a.json --strict-mcp-config |
| –append-system-prompt | 将系统提示附加到默认系统提示(在打印模式下有用) | claude -p --append-system-prompt "Do X then Y" |
| –permission-mode | 会话的权限模式(选项包括 acceptEdits, bypassPermissions, default, plan) | claude --permission-mode plan |
| –permission-prompt-tool | 在非交互模式下指定 MCP 工具以处理权限提示 | claude -p --permission-prompt-tool mcp_auth_tool "query" |
| –fallback-model | 在默认模型过载时启用自动回退到指定模型(注意:仅与 --print 一起工作,根据帮助) | claude -p --fallback-model claude-haiku-20240307 "query" |
| –model | 当前会话的模型。接受别名如 sonnet/opus 或完整模型名称(例如 claude-sonnet-4-20250514) | claude --model sonnet |
| –settings | 从 JSON 文件或 JSON 字符串加载额外设置 | claude --settings ./settings.json |
| –add-dir <directories…> | 允许工具访问的额外目录 | claude --add-dir ../apps ../lib |
| –ide | 如果恰好有一个有效的 IDE 可用,则在启动时自动连接到 IDE | claude --ide |
| -c, --continue | 继续当前目录中最最近的对话 | claude --continue |
| -r, --resume [sessionId] | 恢复对话;提供会话 ID 或交互式选择一个 | claude -r "abc123" |
| –session-id | 使用特定会话 ID 进行对话(必须是有效 UUID) | claude --session-id 123e4567-e89b-12d3-a456-426614174000 |
| –dangerously-skip-permissions | 绕过所有权限检查(仅用于受信任的沙箱) | claude --dangerously-skip-permissions |
| -v, --version | 显示安装的 claude CLI 版本 | claude --version |
| -h, --help | 显示帮助/使用说明 | claude --help |
注意:--output-format json标志对于脚本和自动化特别有用,允许您以编程方式解析 Claude 的响应。
常用命令参考
基础/交互式命令
claude# 启动交互式 REPLclaude"explain this project"# 启动 REPL 并使用提示词claude -p"summarize README.md"# 非交互式打印模式(SDK 支持)catlogs.txt|claude -p"explain"# 将输入管道传输到 Claude 并退出claude -c# 继续最近的对话(--continue 的别名)claude -r"<session-id>""finish this"# 按 ID 恢复特定会话(--resume 的别名)claude --model claude-sonnet-4-20250514# 为此运行选择模型claude --max-turns3-p"lint this"# 在打印模式下限制代理回合数claude --replay-user-messages# 将用户消息重播到 stdout 以进行调试/SDK 工作流
更新和安装
claude update# 手动更新 Claude Codeclaude doctor# 诊断安装/版本和设置claudeinstall# 启动本机二进制安装程序(测试版)claude migrate-installer# 从全局 npm 迁移到本地安装程序
配置:交互式向导 + 直接操作
claude config# 交互式配置向导claude config get<key># 获取值(例如,claude config get theme)claude configset<key><val># 设置值(例如,claude config set theme dark)claude configadd<key><vals…># 附加到数组类型键(例如,claude config add env DEV=1)claude config remove<key><vals…># 从列表类型键中删除项目claude config list# 显示项目的当前所有设置(项目范围是默认值)
示例项目范围设置
claude configsetmodel"claude-3-5-sonnet-20241022"# 为此项目覆盖默认模型claude configsetincludeCoAuthoredByfalse# 在 git/PR 中禁用 "co-authored-by Claude" 署名claude configsetforceLoginMethod claudeai# 限制登录流程: claudeai | consoleclaude configsetenableAllProjectMcpServerstrue# 自动批准来自 .mcp.json 的所有 MCP 服务器claude configsetdefaultMode"acceptEdits"# 设置默认权限模式claude configsetdisableBypassPermissionsMode disable# 防止 bypassPermissions 模式(示例键)
管理列表设置(项目范围)
claude configaddenabledMcpjsonServers github# 批准来自 .mcp.json 的特定 MCP 服务器claude configaddenabledMcpjsonServers memory# 添加另一个claude config remove enabledMcpjsonServers memory# 删除一个条目claude configadddisabledMcpjsonServers filesystem# 明确拒绝特定 MCP 服务器
全局范围(使用 -g 或 --global)
claude configset-g autoUpdatesfalse# 全局关闭自动更新claude configset--global preferredNotifChannel iterm2_with_bell claude configset-g theme dark# 主题:dark | light | light-daltonized | dark-daltonizedclaude configset-g verbosetrue# 在任何地方显示完整 bash/命令输出claude config get -g theme# 确认全局值
MCP(模型上下文协议)管理
claude mcp# 启动 MCP 向导/配置 MCP 服务器claude mcp list# 列出配置的 MCP 服务器claude mcp get<name># 显示服务器详细信息claude mcp remove<name># 移除服务器claude mcpadd<name><command>[args...]# 添加本地 stdio 服务器claude mcpadd--transport sse<name><url># 添加远程 SSE 服务器claude mcpadd--transport http<name><url># 添加远程 HTTP 服务器claude mcpadd<name>--envKEY=VALUE --<cmd>[args...]# 为服务器命令传递环境变量claude mcpadd--transport sse private-api https://api.example/mcp\--header"Authorization: Bearer TOKEN"# 添加带认证头的服务器claude mcp add-json<name>'<json>'# 通过 JSON 块添加服务器claude mcp add-from-claude-desktop# 从 Claude 桌面导入服务器claude mcp reset-project-choices# 重置项目 .mcp.json 服务器的批准claude mcp serve# 将 Claude Code 本身作为 MCP stdio 服务器运行
其他有用的标志(打印/SDK 模式)
claude --add-dir../apps../lib# 添加额外的工作目录claude --allowedTools"Bash(git log:*)""Read"# 允许列出的工具,无需权限提示claude --disallowedTools"Edit"# 拒绝列出的工具,无需权限提示claude --append-system-prompt"Custom instruction"# 附加到系统提示(仅与 -p 一起使用)claude -p"query"--output-format json --input-format stream-json# 控制脚本的 IO 格式claude --verbose# 详细日志记录(逐轮)claude --dangerously-skip-permissions# 跳过权限提示(谨慎使用)
界面和输入
键盘快捷键
| 快捷键 | 描述 | 上下文 |
|---|
| Ctrl+C | 取消当前输入或生成 | 标准中断 |
| Ctrl+D | 退出 Claude Code 会话 | EOF 信号 |
| Ctrl+L | 清除终端屏幕 | 保持对话历史 |
| 上/下箭头 | 导航命令历史 | 回忆以前的输入 |
| Esc + Esc | 编辑上一条消息 | 双重转义以修改 |
多行输入
| 方法 | 快捷键 | 上下文 |
|---|
| 快速转义 | \ + Enter | 在所有终端中工作 |
| macOS 默认 | Option+Enter | macOS 上的默认设置 |
| 终端设置 | Shift+Enter | /terminal-setup 后 |
| 控制序列 | Ctrl+J | 用于多行的换行符 |
| 粘贴模式 | 直接粘贴 | 用于代码块、日志 |
快速命令
| 快捷键 | 描述 | 注释 |
|---|
| # 开头 | 内存快捷方式添加到 CLAUDE.md | 提示选择文件 |
| / 开头 | 斜杠命令 |
Vim 模式
注意:使用 /vim 命令启用 vim 风格编辑,或通过 /config 永久配置。
Vim 模式切换
| 命令 | 操作 | 从模式 |
|---|
| Esc | 进入 NORMAL 模式 | INSERT |
| i | 在光标前插入 | NORMAL |
| I | 在行首插入 | NORMAL |
| a | 在光标后插入 | NORMAL |
| A | 在行尾插入 | NORMAL |
| o | 在下方打开行 | NORMAL |
| O | 在上方打开行 | NORMAL |
Vim 导航
| 命令 | 操作 |
|---|
| h/j/k/l | 左/下/上/右移动 |
| w | 下一个单词 |
| e | 单词结尾 |
| b | 上一个单词 |
| 0 | 行首 |
| $ | 行尾 |
| ^ | 第一个非空格字符 |
| gg | 输入开头 |
| G | 输入结尾 |
Vim 编辑
| 命令 | 操作 |
|---|
| x | 删除字符 |
| dd | 删除行 |
| D | 删除到行尾 |
| dw/de/db | 删除单词/到结尾/到开头 |
| cc | 更改行 |
| C | 更改到行尾 |
| cw/ce/cb | 更改单词/到结尾/到开头 |
| . | 重复上次更改 |
提示:在终端设置中配置首选换行行为。运行 /terminal-setup 为 iTerm2 和 VS Code 终端安装 Shift+Enter 绑定。
命令历史
Claude Code 为当前会话维护命令历史:
- 历史按工作目录存储
- 用
/clear命令清除 - 使用上下箭头键导航(参见上面的键盘快捷键)
- Ctrl+R : 反向搜索历史(如果终端支持)
- 注意:历史扩展(
!)默认禁用