Claude Code 完整命令参考指南
本文档涵盖 Claude Code CLI 的所有命令、选项、斜杠命令、键盘快捷键及配置文件说明。版本信息基于 2026 年 5 月最新版本。
目录
CLI 基本用法
顶级子命令
CLI 选项(Flags)
交互式会话斜杠命令
键盘快捷键
配置文件说明
MCP 子命令
Agents 子命令
Auth 子命令
Plugin 子命令
Hooks 钩子系统
使用示例
1. CLI 基本用法
基本语法
claude [options] [command] [prompt]
默认启动交互式会话。使用 -p/--print 进行非交互式输出。可以直接传入 prompt 作为参数。
用法 | 说明 |
|---|
claude
| 启动交互式会话(默认) |
claude -p "问题"
| 非交互式模式,打印结果后退出 |
claude -c
| 继续最近的会话 |
claude -r [session-id]
| 恢复指定会话 |
2. 顶级子命令
命令 | 说明 |
|---|
claude
| 启动交互式会话(默认行为) |
claude agents [options]
| 管理后台和配置的 Agent |
claude auth
| 管理身份认证(登录/登出/状态) |
claude auto-mode
| 检查 auto-mode 分类器配置 |
claude doctor
| 检查 Claude Code 自动更新器的健康状态 |
claude install [options] [target]
| 安装 Claude Code 原生构建版本。target 支持 stable、latest 或指定版本号 |
claude mcp
| 配置和管理 MCP(Model Context Protocol)服务器 |
claude plugin / claude plugins
| 管理 Claude Code 插件 |
claude project
| 管理 Claude Code 项目状态(初始化、查看项目信息) |
claude setup-token
| 设置长期有效的认证 Token(需要 Claude 订阅) |
claude ultrareview [options] [target]
| 运行云端托管的多 Agent 代码审查(审查当前分支 / PR 编号 / 基准分支)并打印结果 |
claude update / claude upgrade
| 检查更新并安装(如果有新版本) |
claude -v / claude --version
| 输出版本号 |
claude -h / claude --help
| 显示帮助信息 |
3. CLI 选项(Flags)
3.1 会话控制
选项 | 说明 |
|---|
-p, --print
| 打印回复并退出。当 stdout 不是 TTY 时(如管道或重定向),跳过工作区信任对话框 |
-c, --continue
| 继续当前目录中最近的一次会话 |
-r, --resume [value]
| 通过会话 ID 恢复会话,或打开交互式选择器。可附带搜索词进行筛选 |
--fork-session
| 恢复时创建新的会话 ID 而非复用原始 ID。需配合 --resume 或 --continue 使用 |
--session-id <uuid>
| 为会话指定一个特定的会话 ID(必须是有效的 UUID) |
--from-pr [value]
| 通过 PR 编号 / URL 恢复与会话关联的 PR,或打开交互式选择器。可附带搜索词 |
-n, --name <name>
| 为会话设置显示名称(显示在提示框、/resume 选择器和终端标题中) |
--no-session-persistence
| 禁用会话持久化——会话不会被保存到磁盘,无法恢复(仅与 --print 配合使用) |
--replay-user-messages
| 将用户消息从 stdin 重新发送到 stdout 以进行确认(仅与 --input-format=stream-json 和 --output-format=stream-json 配合使用) |
3.2 模型与 Agent
选项 | 说明 |
|---|
--model <model>
| 指定当前会话的模型。可使用别名(如 sonnet、opus)或完整模型名(如 claude-sonnet-4-6) |
--agent <agent>
| 指定当前会话的 Agent。覆盖配置中的 agent 设置 |
--agents <json>
| JSON 对象,定义自定义 Agent。示例:{"reviewer": {"description": "Reviews code", "prompt": "You are a code reviewer"}} |
--effort <level>
| 设置当前会话的努力级别。可选值:low、medium、high、xhigh、max |
--fallback-model <model>
| 当默认模型过载时自动回退到指定模型(仅与 --print 配合使用) |
--betas <betas...>
| API 请求中包含的 Beta 头(仅限 API Key 用户) |
可用模型别名: sonnet(Claude Sonnet 4.6)、opus(Claude Opus 4.7)、haiku(Claude Haiku 4.5)
3.3 系统提示(System Prompt)
选项 | 说明 |
|---|
--system-prompt <prompt>
| 为会话指定系统提示词(替换默认系统提示) |
--append-system-prompt <prompt>
| 在默认系统提示词后追加额外的系统提示 |
--exclude-dynamic-system-prompt-sections
| 将每台机器的特定信息(cwd、环境信息、内存路径、git 状态)从系统提示移至第一条用户消息中。可改善跨用户的 prompt-cache 重用。仅在使用默认系统提示时生效(使用 --system-prompt 时忽略) |
3.4 输入 / 输出格式
选项 | 说明 |
|---|
--output-format <format>
| 输出格式(仅与 --print 配合使用)。可选:text(默认)、json(单个结果)、stream-json(实时流式) |
--input-format <format>
| 输入格式(仅与 --print 配合使用)。可选:text(默认)、stream-json(实时流式输入) |
--json-schema <schema>
| 结构化输出的 JSON Schema 验证。示例:{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]} |
--include-partial-messages
| 在流式输出中包含部分消息块(仅与 --print 和 --output-format=stream-json 配合使用) |
--include-hook-events
| 在输出流中包含所有 Hook 生命周期事件(仅与 --output-format=stream-json 配合使用) |
3.5 权限与安全
选项 | 说明 |
|---|
--dangerously-skip-permissions
| 跳过所有权限检查。仅推荐在没有互联网访问的沙箱中使用 |
--allow-dangerously-skip-permissions
| 允许选择跳过所有权限检查(默认未启用)。仅推荐在没有互联网访问的沙箱中使用 |
--permission-mode <mode>
| 会话的权限模式。可选:acceptEdits、auto、bypassPermissions、default、dontAsk、plan |
--allowedTools, --allowed-tools <tools...>
| 以逗号或空格分隔的允许工具名称列表。示例:"Bash(git *) Edit" |
--disallowedTools, --disallowed-tools <tools...>
| 以逗号或空格分隔的禁止工具名称列表。示例:"Bash(git *) Edit" |
--tools <tools...>
| 指定从内置集合中可用的工具列表。使用 "" 禁用所有工具,"default" 使用所有工具,或指定工具名(如 "Bash,Edit,Read") |
权限模式说明:
3.6 调试
选项 | 说明 |
|---|
-d, --debug [filter]
| 启用调试模式。可选类别过滤(如 "api,hooks" 或 "!1p,!file") |
--debug-file <path>
| 将调试日志写入指定文件路径(隐式启用调试模式) |
--verbose
| 覆盖配置中的 verbose 模式设置 |
3.7 MCP 配置
选项 | 说明 |
|---|
--mcp-config <configs...>
| 从 JSON 文件或字符串加载 MCP 服务器(空格分隔) |
--strict-mcp-config
| 仅使用 --mcp-config 指定的 MCP 服务器,忽略所有其他 MCP 配置 |
--mcp-debug
| [已弃用,请使用 --debug] 启用 MCP 调试模式(显示 MCP 服务器错误) |
3.8 文件与目录
选项 | 说明 |
|---|
--add-dir <directories...>
| 允许工具访问的额外目录 |
--file <specs...>
| 在启动时下载的文件资源。格式:file_id:relative_path(如 --file file_abc:doc.txt file_def:img.png) |
--plugin-dir <path>
| 从指定目录加载此会话的插件(可重复:--plugin-dir A --plugin-dir B) |
3.9 Worktree(Git 工作树)
选项 | 说明 |
|---|
-w, --worktree [name]
| 为此会话创建新的 Git worktree(可选指定名称) |
--tmux
| 为 worktree 创建 tmux 会话(需要 --worktree)。当 iTerm2 本地面板可用时自动使用;使用 --tmux=classic 强制使用传统 tmux |
3.10 IDE 集成
选项 | 说明 |
|---|
--ide
| 如果正好有一个有效 IDE 可用,则在启动时自动连接到 IDE |
--chrome
| 启用 Claude in Chrome 集成 |
--no-chrome
| 禁用 Claude in Chrome 集成 |
3.11 最小模式 / 裸模式 (--bare)
选项 | 说明 |
|---|
--bare
| 最小模式:跳过 Hooks、LSP、插件同步、属性标记、自动记忆、后台预取、钥匙串读取和 CLAUDE.md 自动发现。设置 CLAUDE_CODE_SIMPLE=1。认证严格使用 ANTHROPIC_API_KEY 或 apiKeyHelper(通过 --settings 提供)。第三方提供商(Bedrock/Vertex/Foundry)使用各自凭据。技能仍通过 /skill-name 解析。需要通过 --system-prompt、--append-system-prompt、--add-dir、--mcp-config、--settings、--agents、--plugin-dir 显式提供上下文 |
3.12 设置与常规
选项 | 说明 |
|---|
--settings <file-or-json>
| 指向设置 JSON 文件路径或 JSON 字符串,用于加载额外设置 |
--setting-sources <sources>
| 以逗号分隔的要加载的设置源列表:user、project、local |
--disable-slash-commands
| 禁用所有技能(斜杠命令) |
--brief
| 启用 SendUserMessage 工具以允许 Agent 与用户通信 |
--max-budget-usd <amount>
| API 调用的最大美元花费上限(仅与 --print 配合使用) |
--remote-control-session-name-prefix <prefix>
| 自动生成的 Remote Control 会话名称前缀(默认:主机名) |
4. 交互式会话斜杠命令(Slash Commands)
在 Claude Code 交互式会话的提示框中输入以下命令:
4.1 内置斜杠命令
命令 | 说明 |
|---|
/help
| 显示可用命令的帮助信息 |
/clear
| 清除当前对话历史。模型重新开始,但保留文件上下文 |
/compact
| 压缩对话以节省上下文窗口空间。使用后台模型总结早期对话轮次 |
/config
| 打开配置菜单,更改主题、模型和其他设置。比手动编辑 settings.json 更简单 |
/model
| 显示或更改当前会话的模型 |
/usage
| 显示当前会话的 Token 使用量和费用信息 |
/history
| 显示会话历史 / 列出最近的会话 |
/resume
| 从选择器列表中恢复过去的会话 |
/init
| 为项目初始化 CLAUDE.md 文件,记录代码库文档 |
/review
| 审查 Pull Request |
/doctor
| 检查 Claude Code 配置和连接的运行状况 |
/bug
| 报告 Bug |
/feedback
| 向 Claude Code 团队发送反馈 |
/search
| 在当前对话中搜索 |
/permission
| 管理权限(查看当前权限、请求新权限) |
/statusline
| 设置 Claude Code 的状态栏 UI |
/fast
| 切换快速模式(仅适用于 Opus 4.6,使用更快的输出) |
4.2 自定义技能斜杠命令
项目中通过 .claude/settings.json 定义的技能也会显示为斜杠命令。常用的配置技能包括:
命令 | 说明 |
|---|
/update-config
| 通过 settings.json 配置 Claude Code |
/keybindings-help
| 自定义键盘快捷键 |
/simplify
| 审查更改代码的重用性/质量/效率并修复问题 |
/fewer-permission-prompts
| 添加优先允许列表到 settings.json 以减少权限提示 |
/loop
| 以循环间隔运行提示或斜杠命令(如 /loop 5m /foo,默认为 10 分钟) |
/claude-api
| 构建、调试和优化 Claude API / Anthropic SDK 应用 |
/security-review
| 对当前分支的待处理更改进行安全审查 |
/init
| 初始化新的 CLAUDE.md 文件并记录代码库 |
5. 键盘快捷键
快捷键定义在 ~/.claude/keybindings.json 中,可以自定义。
5.1 默认快捷键
快捷键 | 操作 | 说明 |
|---|
Enter
| 提交 | 提交当前消息 / 发送 |
Shift+Enter
| 换行 | 插入换行而不提交 |
Ctrl+Enter
| 强制提交 | 无论焦点在哪里,提交消息 |
Ctrl+C
| 取消 | 取消当前生成 / 中断模型 |
Ctrl+L
| 清屏 | 清除终端屏幕 |
Up Arrow
| 上一条历史 | 导航到输入历史中的上一条消息 |
Down Arrow
| 下一条历史 | 导航到输入历史中的下一条消息 |
Ctrl+D
| 结束会话 | 结束/退出当前对话 |
Tab
| 自动补全 | 自动补全命令、文件路径和斜杠命令 |
Ctrl+P
| 上一条历史 | 向上导航输入历史的替代快捷键 |
Ctrl+N
| 下一条历史 | 向下导航输入历史的替代快捷键 |
Ctrl+U
| 清除输入 | 清除当前输入行 |
Ctrl+W
| 删除单词 | 删除光标前的单词 |
Ctrl+A
| 行首 | 将光标移动到行首 |
Ctrl+E
| 行尾 | 将光标移动到行尾 |
Ctrl+B
| 后退字符 | 将光标向左移动一个字符 |
Ctrl+F
| 前进字符 | 将光标向右移动一个字符 |
Ctrl+K
| 删除到行尾 | 删除从光标到行尾的内容 |
Page Up
| 向上滚动 | 向上滚动输出面板 |
Page Down
| 向下滚动 | 向下滚动输出面板 |
5.2 自定义快捷键
在 ~/.claude/keybindings.json 中定义自定义快捷键:
{
"keybindings": {
"ctrl+s": "submit",
"ctrl+shift+enter": "newline",
"ctrl+r": "resume"
}
}
可使用 /keybindings-help 技能获取交互式帮助。
6. 配置文件说明
Claude Code 使用分层 JSON 配置文件系统:
文件 | 作用域 | 说明 |
|---|
~/.claude/settings.json
| 用户(全局) | 适用于所有项目 |
.claude/settings.local.json
| 项目(本地) | 项目特定,应在 .gitignore 中排除 |
.claude/settings.json
| 项目(共享) | 项目特定,签入版本控制与团队共享 |
关键配置项
配置项 | 类型 | 说明 |
|---|
theme
| "dark" | "light"
| 终端 UI 主题 |
model
| string | 默认模型(如 "claude-sonnet-4-6") |
agent
| string | 默认 Agent 名称 |
permissionMode
| string | 权限模式("default"、"acceptEdits"、"auto"、"dontAsk"、"plan"、"bypassPermissions") |
allowedTools
| string[] | 只读工具允许列表 |
verbose
| boolean | 启用详细输出 |
其他配置文件路径
路径 | 用途 |
|---|
~/.claude/keybindings.json
| 自定义键盘快捷键 |
~/.claude/mcp.json
| 用户级 MCP 服务器配置 |
.claude/mcp.json
| 项目级 MCP 服务器配置 |
CLAUDE.md
| 项目知识库 / 给 Claude 的指令 |
~/.claude/
| 所有用户级 Claude Code 配置的目录 |
7. MCP 子命令
管理 Model Context Protocol 服务器:
claude mcp [subcommand] [options]
子命令 | 说明 |
|---|
claude mcp add <name>
| 添加新的 MCP 服务器 |
claude mcp remove <name>
| 移除 MCP 服务器 |
claude mcp list
| 列出已配置的 MCP 服务器 |
claude mcp test <name>
| 测试 MCP 服务器连接 |
8. Agents 子命令
claude agents [options]
管理后台和配置的 Agent:
子命令 | 说明 |
|---|
claude agents start
| 启动后台 Agent |
claude agents stop
| 停止后台 Agent |
claude agents list
| 列出已配置的 Agent |
claude agents logs
| 查看 Agent 日志 |
常用选项:
9. Auth 子命令
claude auth [subcommand]
管理 Claude API 的身份认证:
子命令 | 说明 |
|---|
claude auth login
| 使用 Claude 账户登录 |
claude auth logout
| 登出 |
claude auth status
| 检查认证状态 |
10. Plugin 子命令
claude plugin [subcommand]
# 或
claude plugins [subcommand]
管理 Claude Code 插件:
子命令 | 说明 |
|---|
claude plugin list
| 列出已安装的插件 |
claude plugin install <name>
| 安装插件 |
claude plugin remove <name>
| 移除插件 |
11. Hooks 钩子系统
Hooks 在 .claude/settings.json 或 .claude/settings.local.json 中配置,用于自动化行为:
Hook 事件 | 触发时机 |
|---|
beforeCommand
| 在每次工具命令执行之前运行 |
afterCommand
| 在每次工具命令执行之后运行 |
onSessionStart
| 会话开始时运行 |
onSessionStop
| 会话结束时运行 |
Hooks 是在配置文件中定义的可执行脚本或 shell 命令,在工作目录上下文中运行。
12. 使用示例
基本交互
# 启动交互式会话
claude
# 指定模型启动交互式会话
claude --model claude-sonnet-4-6
# 提问并获取打印回复(非交互式)
claude -p "解释 JavaScript 中 async/await 的工作原理"
# 将管道输入传给 Claude
cat main.py | claude -p "审查这段代码是否有 Bug"
# 继续最近的会话
claude -c
# 恢复特定会话
claude -r <session-id>
模型与 Agent
# 使用特定 Agent
claude --agent reviewer
# 设置努力级别
claude --effort high
# 自定义 Agent 定义
claude --agents '{"reviewer": {"description": "Reviews code", "prompt": "You are a code reviewer"}}'
输出与调试
# 以 JSON 格式非交互式输出
claude -p "列出所有文件" --output-format json
# 启用调试模式
claude -d
# 将调试日志写入文件
claude --debug-file ./debug.log
# 启用详细输出
claude --verbose
权限与安全
# 仅允许特定工具
claude --tools "Bash,Read,Edit"
# 仅允许 git 相关的 Bash 命令
claude --allowedTools "Bash(git *) Edit"
# 沙箱中跳过权限检查
claude --dangerously-skip-permissions
高级功能
# 创建 Git worktree 会话
claude -w feature-branch
# 审查 PR
claude ultrareview #123
# 设置最大花费上限
claude --max-budget-usd 5.00
# 运行在最小模式
claude --bare
# 配合 MCP 服务器配置
claude --mcp-config ./mcp-servers.json
# 自定义系统提示
claude --system-prompt "你是一位资深 Rust 开发者"
维护命令
# 检查运行状况
claude doctor
# 更新 Claude Code
claude update
# 安装特定版本
claude install stable
claude install latest
注意: 本文档基于 Claude Code 当前版本编写。斜杠命令可能因项目设置中定义的自定义技能(通过 /skill-name)而扩展,键盘快捷键可通过 ~/.claude/keybindings.json 自定义。如需获取最新变更,请参考官方文档 docs.anthropic.com。