CLI 参考
Claude Code 命令行界面的命令与标志速查:会话、认证、MCP、插件、权限、输出格式、系统提示等。
CLI 命令
可以用这些命令启动会话、管道传入内容、恢复对话和管理更新:
| 命令 | 说明 | 示例 |
|---|---|---|
claude | 启动交互式会话 | claude |
claude "query" | 带初始提示启动交互式会话 | claude "explain this project" |
claude -p "query" | 通过 SDK 查询,然后退出 | claude -p "explain this function" |
cat file | claude -p "query" | 处理通过管道传入的内容 | cat logs.txt | claude -p "explain" |
claude -c | 继续当前目录里最近的对话 | claude -c |
claude -c -p "query" | 通过 SDK 继续 | claude -c -p "Check for type errors" |
claude -r "<session>" "query" | 按 ID 或名字恢复会话 | claude -r "auth-refactor" "Finish this PR" |
claude update | 更新到最新版本 | claude update |
claude install [version] | 安装或重新安装原生二进制文件,接受版本号(如 2.1.118)、stable 或 latest | claude install stable |
claude auth login | 登录 Anthropic 账号;--email 预填邮箱,--sso 强制 SSO,--console 用 Anthropic Console 登录以按 API 用量计费 | claude auth login --console |
claude auth logout | 退出 Anthropic 账号 | claude auth logout |
claude auth status | 以 JSON 显示认证状态,--text 输出可读文本;已登录时退出码为 0,否则为 1 | claude auth status |
claude agents | 打开智能体视图,监控和派发并行的后台会话 | claude agents |
claude attach <id> | 在当前终端里附加到某个后台会话 | claude attach 7c5dcf5d |
claude doctor | 不启动会话,从终端打印只读的安装和设置诊断 | claude doctor |
claude import [source] | 启动运行 /import 的交互式会话,把其他编码智能体的配置导入 Claude Code | claude import |
claude logs <id> | 打印某个后台会话最近的输出 | claude logs 7c5dcf5d |
claude mcp | 配置 MCP 服务器 | 见 MCP 文档 |
claude mcp login <name> / claude mcp logout <name> | 在不打开交互式 /mcp 面板的情况下,运行 / 清除某个已配置 MCP 服务器的 OAuth 凭据 | claude mcp login sentry |
claude plugin | 管理 Claude Code 插件(别名 claude plugins) | claude plugin install code-review@claude-plugins-official |
claude project purge [path] | 删除某个项目的所有本地 Claude Code 状态:转录、任务列表、调试日志、文件编辑历史、提示历史和 ~/.claude.json 里的项目条目 | claude project purge |
claude remote-control | 启动 Remote Control 服务器,从 Claude.ai 或 Claude App 控制 Claude Code | claude remote-control |
claude setup-token | 为 CI 和脚本生成长期 OAuth 令牌(打印到终端而不保存,需要 Claude 订阅) | claude setup-token |
claude stop <id> | 停止某个后台会话(也接受 claude kill) | claude stop 7c5dcf5d |
claude ultrareview [target] | 非交互地运行 ultrareview,把发现打印到 stdout;成功退出码 0,失败 1 | claude ultrareview |
如果你拼错了子命令,Claude Code 会建议最接近的匹配并退出,而不启动会话。例如 claude udpate 会打印 Did you mean claude update?。
CLI 标志
用这些命令行标志定制 Claude Code 的行为。claude --help 不会列出所有标志,所以某个标志没出现在 --help 里并不意味着它不可用。
会话与模型
| 标志 | 说明 |
|---|---|
--continue、-c | 加载当前目录里最近的对话 |
--resume、-r | 按 ID 或名字恢复特定会话,或显示交互式选择器;也可传会话 .jsonl 转录文件的绝对路径 |
--fork-session | 恢复时创建新会话 ID,而不是复用原来的(与 --resume 或 --continue 搭配) |
--name、-n | 为会话设置显示名,显示在 /resume 和终端标题里;可用 claude --resume <name> 恢复 |
--session-id | 为对话使用特定的会话 ID(必须是有效的 UUID) |
--from-pr | 打开按特定 PR 过滤的会话选择器,接受 PR 号、GitHub 或 GitHub Enterprise 的 PR URL、GitLab 合并请求 URL 或 Bitbucket PR URL |
--model | 用模型别名(sonnet、opus、haiku、fable)或完整模型名设置当前会话的模型 |
--effort | 设置当前会话的努力等级:low、medium、high、xhigh、max 或 ultracode |
--fallback-model | 主模型过载或不可用(如已退役)时自动回退到指定模型,接受逗号分隔的列表,按顺序尝试 |
--worktree、-w | 在 <repo>/.claude/worktrees/<name> 的隔离 git worktree 里启动 Claude;不给名字时 Claude Code 自动生成 |
--add-dir | 添加 Claude 可读取和编辑文件的额外工作目录 |
--cloud | 带任务描述时创建新的云端会话;带会话 ID 或 claude.ai/code URL 时,把消息排入那个已有会话 |
--teleport | 在本地终端里恢复云端会话 |
--remote-control、--rc | 启动启用了 Remote Control 的交互式会话,让你也能从 claude.ai 或 Claude App 控制它 |
--bg、--background | 把会话作为后台智能体启动并立即返回,打印会话 ID 和管理命令 |
权限与安全
| 标志 | 说明 |
|---|---|
--permission-mode | 以指定的权限模式开始:default、acceptEdits、plan、auto、dontAsk、bypassPermissions,或作为 default 别名的 manual |
--dangerously-skip-permissions | 跳过权限提示,等价于 --permission-mode bypassPermissions |
--allow-dangerously-skip-permissions | 把 bypassPermissions 加入 Shift+Tab 的模式循环,但不以它开始 |
--allowedTools、--allowed-tools | 不经权限提示就执行的工具 |
--disallowedTools、--disallowed-tools | deny 规则;裸工具名把匹配的工具从 Claude 的上下文里移除:"Edit" 移除 Edit,"*" 移除每个工具,"mcp__*" 移除每个 MCP 工具 |
--tools | 限制 Claude 能用哪些内置工具:用 "" 禁用全部,"default" 用默认集,或写工具名如 "Bash,Edit,Read" |
--permission-prompt-tool | 指定一个 MCP 工具来在非交互模式下处理权限提示 |
--permission-prompts | 设置打印模式下谁来回答权限提示;传 none 表示没有人能回答 |
--restricted | 以受限模式启动,用于评估框架在共享机器上驱动 claude 的场景 |
配置与诊断
| 标志 | 说明 |
|---|---|
--settings | 设置 JSON 文件的路径或内联 JSON 字符串;这里设的值在本会话里覆盖你 settings.json 文件里的同名键 |
--setting-sources | 逗号分隔的要加载的设置来源列表(user、project、local) |
--mcp-config | 从 JSON 文件或字符串加载 MCP 服务器(空格分隔) |
--strict-mcp-config | 只使用 --mcp-config 里的 MCP 服务器,忽略所有其他 MCP 配置 |
--agent | 为当前会话指定一个智能体(覆盖 agent 设置) |
--agents | 用 JSON 动态定义自定义子智能体 |
--plugin-dir / --plugin-url | 只为本会话从目录、.zip 归档或 URL 加载插件 |
--disable-slash-commands | 对本会话禁用所有 Skill 和命令 |
--safe-mode | 在所有自定义项被禁用的情况下启动,用来排查损坏的配置 |
--debug / --debug-file <path> | 启用调试模式(可带类别过滤,如 --debug='mcp,startup')/ 把调试日志写到指定文件 |
--verbose | 启用详细日志,显示完整的逐回合输出 |
--version、-v | 输出版本号 |
--chrome / --no-chrome | 启用 / 禁用 Chrome 浏览器集成 |
--ide | 恰好有一个有效 IDE 可用时启动后自动连接 IDE |
打印模式(-p)
| 标志 | 说明 |
|---|---|
--print、-p | 不进入交互模式,直接打印响应 |
--output-format | 指定打印模式的输出格式:text、json、stream-json |
--input-format | 指定打印模式的输入格式:text、stream-json |
--json-schema | 在智能体完成工作流后,获得与 JSON Schema 匹配的经过验证的 JSON 输出(仅打印模式) |
--include-partial-messages | 在输出里包含部分流式事件(需要 --print 和 --output-format stream-json) |
--max-turns | 限制智能体回合数(仅打印模式),达到限制时以错误退出,默认无限制 |
--max-budget-usd | 停止之前在 API 调用上花费的最大美元数(仅打印模式),子智能体的花费也计入上限 |
--no-session-persistence | 禁用会话持久化,会话不保存到磁盘且无法恢复(仅打印模式) |
--bare | 最小模式:跳过 Hook、Skill、自定义命令、子智能体、已安装插件、MCP 服务器、自动记忆和 CLAUDE.md 的自动发现,让脚本调用启动更快 |
系统提示标志
| 标志 | 行为 | 示例 |
|---|---|---|
--system-prompt | 用自定义文本替换整个系统提示 | claude --system-prompt "You are a Python expert" |
--system-prompt-file | 从文件加载系统提示,替换默认提示 | claude --system-prompt-file ./custom-prompt.txt |
--append-system-prompt | 把自定义文本追加到默认系统提示末尾 | claude --append-system-prompt "Always use TypeScript" |
--append-system-prompt-file | 从文件加载额外的系统提示文本并追加到默认提示 | claude --append-system-prompt-file ./extra-rules.txt |
用
--append-system-prompt在保留 Claude Code 内置能力的同时增加指令(多数场景推荐);只有想完全控制系统提示时才用--system-prompt替换它。