CLI 参考
Claude Code 命令行界面的完整参考,包括命令和标志。
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 订阅 |
claude auth login --console |
claude auth logout |
从您的 Anthropic 账户登出 | claude auth logout |
claude auth status |
以 JSON 格式显示身份验证状态。使用 --text 获取人类可读的输出。如果已登录,则以代码 0 退出,如果未登录,则以代码 1 退出 |
claude auth status |
claude agents |
打开 agent view 以监控和分派并行后台会话。使用 --cwd <path> 仅显示在该目录下启动的会话 |
claude agents |
claude attach <id> |
在此终端中附加到 background session | claude attach 7c5dcf5d |
claude auto-mode defaults |
以 JSON 格式打印内置 auto mode 分类器规则。使用 claude auto-mode config 查看应用了设置的有效配置 |
claude auto-mode defaults > rules.json |
claude logs <id> |
从 background session 打印最近的输出 | claude logs 7c5dcf5d |
claude mcp |
配置 Model Context Protocol (MCP) 服务器 | 请参阅 Claude Code MCP 文档。 |
claude plugin |
管理 Claude Code plugins。别名:claude plugins。请参阅 plugin 参考 了解子命令 |
claude plugin install code-review@claude-plugins-official |
claude project purge [path] |
删除项目的所有本地 Claude Code 状态:记录、任务列表、调试日志、文件编辑历史、提示历史行和项目在 ~/.claude.json 中的条目。省略 [path] 以从交互式列表中选择。标志:--dry-run 预览,-y/--yes 跳过确认,-i/--interactive 确认每一项,--all 用于每个项目。请参阅 清除本地数据 |
claude project purge ~/work/repo --dry-run |
claude remote-control |
启动 Remote Control 服务器以从 Claude.ai 或 Claude 应用控制 Claude Code。在服务器模式下运行(无本地交互式会话)。请参阅 服务器模式标志 | claude remote-control --name "My Project" |
claude respawn <id> |
重启已停止的 background session,保持其对话完整。使用 --all 重启每个已停止的会话 |
claude respawn 7c5dcf5d |
claude rm <id> |
从列表中删除 background session | claude rm 7c5dcf5d |
claude setup-token |
为 CI 和脚本生成长期 OAuth 令牌。将令牌打印到终端而不保存。需要 Claude 订阅。请参阅 生成长期令牌 | claude setup-token |
claude stop <id> |
停止 background session。也接受 claude kill |
claude stop 7c5dcf5d |
claude ultrareview [target] |
非交互式运行 ultrareview。将发现结果打印到标准输出,成功时退出代码 0,失败时退出代码 1。使用 --json 获取原始有效负载,使用 --timeout <minutes> 覆盖 30 分钟的默认值 |
claude ultrareview 1234 --json |
如果您输入错误的子命令,Claude Code 会建议最接近的匹配项并退出而不启动会话。例如,claude udpate 会打印 Did you mean claude update?。
CLI 标志
使用这些命令行标志自定义 Claude Code 的行为。claude --help 不会列出每个标志,因此标志在 --help 中的缺失并不意味着它不可用。
| 标志 | 描述 | 示例 |
|---|---|---|
--add-dir |
为 Claude 添加额外的工作目录以读取和编辑文件。授予文件访问权限;大多数 .claude/ 配置 不会从这些目录中发现。验证每个路径是否存在为目录。要在会话间持久化这些目录,请在设置中设置 permissions.additionalDirectories |
claude --add-dir ../apps ../lib |
--agent |
为当前会话指定代理(覆盖 agent 设置) |
claude --agent my-custom-agent |
--agents |
通过 JSON 动态定义自定义 subagents。使用与 subagent frontmatter 相同的字段名称,加上代理指令的 prompt 字段 |
claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}' |
--allow-dangerously-skip-permissions |
将 bypassPermissions 添加到 Shift+Tab 模式循环中而不启动它。允许您以不同的模式(如 plan)开始,稍后切换到 bypassPermissions。请参阅 权限模式 |
claude --permission-mode plan --allow-dangerously-skip-permissions |
--allowedTools |
无需提示权限即可执行的工具。请参阅 权限规则语法 了解模式匹配。要限制哪些工具可用,请改用 --tools |
"Bash(git log *)" "Bash(git diff *)" "Read" |
--append-system-prompt |
将自定义文本附加到默认系统提示的末尾 | claude --append-system-prompt "Always use TypeScript" |
--append-system-prompt-file |
从文件加载额外的系统提示文本并附加到默认提示 | claude --append-system-prompt-file ./extra-rules.txt |
--bare |
最小模式:跳过 hooks、skills、plugins、MCP 服务器、自动内存和 CLAUDE.md 的自动发现,以便脚本化调用启动更快。Claude 可以访问 Bash、文件读取和文件编辑工具。设置 CLAUDE_CODE_SIMPLE。请参阅 bare mode |
claude --bare -p "query" |
--betas |
要包含在 API 请求中的 Beta 标头(仅限 API 密钥用户) | claude --betas interleaved-thinking |
--bg |
启动会话作为 后台代理 并立即返回。打印会话 ID 和管理命令。与 --agent 结合以运行特定的 subagent |
claude --bg "investigate the flaky test" |
--channels |
(研究预览)MCP 服务器,其 channel 通知 Claude 应在此会话中侦听。以空格分隔的 plugin:<name>@<marketplace> 条目列表。需要 Claude.ai 身份验证 |
claude --channels plugin:my-notifier@my-marketplace |
--chrome |
启用 Chrome 浏览器集成 以进行网络自动化和测试 | claude --chrome |
--continue, -c |
加载当前目录中最近的对话。包括使用 /add-dir 添加此目录的会话 |
claude --continue |
--dangerously-load-development-channels |
启用不在批准的允许列表中的 channels,用于本地开发。接受 plugin:<name>@<marketplace> 和 server:<name> 条目。提示确认 |
claude --dangerously-load-development-channels server:webhook |
--dangerously-skip-permissions |
跳过权限提示。等同于 --permission-mode bypassPermissions。请参阅 权限模式 了解此操作跳过和不跳过的内容 |
claude --dangerously-skip-permissions |
--debug |
启用调试模式,可选类别过滤(例如,"api,hooks" 或 "!statsig,!file") |
claude --debug "api,mcp" |
--debug-file <path> |
将调试日志写入特定文件路径。隐式启用调试模式。优先于 CLAUDE_CODE_DEBUG_LOGS_DIR |
claude --debug-file /tmp/claude-debug.log |
--disable-slash-commands |
为此会话禁用所有 skills 和命令 | claude --disable-slash-commands |
--disallowedTools |
从模型的上下文中删除的工具,无法使用 | "Bash(git log *)" "Bash(git diff *)" "Edit" |
--effort |
为当前会话设置 工作量级别。选项:low、medium、high、xhigh、max;可用级别取决于模型。覆盖此会话的 effortLevel 设置,不会持久化 |
claude --effort high |
--enable-auto-mode |
{/* max-version: 2.1.110 */}在 v2.1.111 中移除。Auto mode 现在默认在 Shift+Tab 循环中;使用 --permission-mode auto 以它开始 |
claude --permission-mode auto |
--exclude-dynamic-system-prompt-sections |
将每台机器的部分从系统提示(工作目录、环境信息、内存路径、git 状态)移到第一条用户消息中。改进在运行相同任务的不同用户和机器之间的提示缓存重用。仅适用于默认系统提示;当设置 --system-prompt 或 --system-prompt-file 时忽略。与 -p 一起用于脚本化的多用户工作负载 |
claude -p --exclude-dynamic-system-prompt-sections "query" |
--fallback-model |
当默认模型过载时启用自动回退到指定模型(仅打印模式) | claude -p --fallback-model sonnet "query" |
--fork-session |
恢复时,创建新的会话 ID 而不是重用原始 ID(与 --resume 或 --continue 一起使用) |
claude --resume abc123 --fork-session |
--from-pr |
恢复链接到特定拉取请求的会话。接受 PR 号、GitHub 或 GitHub Enterprise PR URL、GitLab 合并请求 URL 或 Bitbucket 拉取请求 URL。当 Claude 创建拉取请求时会自动链接会话 | claude --from-pr 123 |
--ide |
如果恰好有一个有效的 IDE 可用,则在启动时自动连接到 IDE | claude --ide |
--init |
在会话前运行带有 init 匹配器的 Setup hooks(仅打印模式) |
claude -p --init "query" |
--init-only |
运行 Setup 和 SessionStart hooks,然后退出而不启动对话 |
claude --init-only |
--include-hook-events |
在输出流中包含所有 hook 生命周期事件。需要 --output-format stream-json |
claude -p --output-format stream-json --include-hook-events "query" |
--include-partial-messages |
在输出中包含部分流事件。需要 --print 和 --output-format stream-json |
claude -p --output-format stream-json --include-partial-messages "query" |
--input-format |
为打印模式指定输入格式(选项:text、stream-json) |
claude -p --output-format json --input-format stream-json |
--json-schema |
在代理完成其工作流后获得与 JSON Schema 匹配的验证 JSON 输出(仅打印模式,请参阅 结构化输出) | claude -p --json-schema '{"type":"object","properties":{...}}' "query" |
--maintenance |
在会话前运行带有 maintenance 匹配器的 Setup hooks(仅打印模式) |
claude -p --maintenance "query" |
--max-budget-usd |
API 调用前停止的最大美元金额(仅打印模式) | claude -p --max-budget-usd 5.00 "query" |
--max-turns |
限制代理转数(仅打印模式)。达到限制时以错误退出。默认无限制 | claude -p --max-turns 3 "query" |
--mcp-config |
从 JSON 文件或字符串加载 MCP 服务器(以空格分隔) | claude --mcp-config ./mcp.json |
--model |
为当前会话设置模型,使用最新模型的别名(sonnet 或 opus)或模型的完整名称。覆盖 model 设置和 ANTHROPIC_MODEL |
claude --model claude-sonnet-4-6 |
--name, -n |
为会话设置显示名称,显示在 /resume 和终端标题中。您可以使用 claude --resume <name> 恢复命名会话。/rename 在会话中更改名称,也会在提示栏中显示 |
claude -n "my-feature-work" |
--no-chrome |
为此会话禁用 Chrome 浏览器集成 | claude --no-chrome |
--no-session-persistence |
禁用会话持久化,以便会话不会保存到磁盘且无法恢复。仅打印模式。CLAUDE_CODE_SKIP_PROMPT_HISTORY 环境变量在任何模式下都做同样的事情 |
claude -p --no-session-persistence "query" |
--output-format |
为打印模式指定输出格式(选项:text、json、stream-json) |
claude -p "query" --output-format json |
--permission-mode |
以指定的 权限模式 开始。接受 default、acceptEdits、plan、auto、dontAsk 或 bypassPermissions。覆盖设置文件中的 defaultMode |
claude --permission-mode plan |
--permission-prompt-tool |
指定 MCP 工具以在非交互模式下处理权限提示 | claude -p --permission-prompt-tool mcp_auth_tool "query" |
--plugin-dir |
仅为此会话从目录或 .zip 存档加载插件。每个标志采用一个路径。重复该标志以获取多个插件:--plugin-dir A --plugin-dir B.zip |
claude --plugin-dir ./my-plugin |
--plugin-url |
仅为此会话从 URL 获取插件 .zip 存档。重复该标志以获取多个插件,或在单个引用值中传递以空格分隔的 URL |
claude --plugin-url https://example.com/plugin.zip |
--print, -p |
打印响应而不进入交互模式(请参阅 Agent SDK 文档 了解编程使用详情) | claude -p "query" |
--remote |
在 claude.ai 上创建新的 网络会话,提供任务描述 | claude --remote "Fix the login bug" |
--remote-control, --rc |
启动启用了 Remote Control 的交互式会话,以便您也可以从 claude.ai 或 Claude 应用控制它。可选地为会话传递名称 | claude --remote-control "My Project" |
--remote-control-session-name-prefix <prefix> |
当未设置显式名称时,Remote Control 自动生成会话名称的前缀。默认为您的机器的主机名,生成名称如 myhost-graceful-unicorn。设置 CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX 以获得相同效果 |
claude remote-control --remote-control-session-name-prefix dev-box |
--replay-user-messages |
从 stdin 重新发出用户消息到 stdout 以进行确认。需要 --input-format stream-json 和 --output-format stream-json |
claude -p --input-format stream-json --output-format stream-json --replay-user-messages |
--resume, -r |
按 ID 或名称恢复特定会话,或显示交互式选择器以选择会话。包括使用 /add-dir 添加此目录的会话 |
claude --resume auth-refactor |
--session-id |
为对话使用特定的会话 ID(必须是有效的 UUID) | claude --session-id "550e8400-e29b-41d4-a716-446655440000" |
--setting-sources |
逗号分隔的设置源列表以加载(user、project、local) |
claude --setting-sources user,project |
--settings |
设置 JSON 文件的路径或内联 JSON 字符串。您在此处设置的值会覆盖此会话的 settings.json 文件中的相同键。您省略的键保留其基于文件的值。请参阅 设置优先级 |
claude --settings ./settings.json |
--strict-mcp-config |
仅使用来自 --mcp-config 的 MCP 服务器,忽略所有其他 MCP 配置 |
claude --strict-mcp-config --mcp-config ./mcp.json |
--system-prompt |
用自定义文本替换整个系统提示 | claude --system-prompt "You are a Python expert" |
--system-prompt-file |
从文件加载系统提示,替换默认提示 | claude --system-prompt-file ./custom-prompt.txt |
--teleport |
在本地终端中恢复 网络会话 | claude --teleport |
--teammate-mode |
设置 agent team 队友的显示方式:auto(默认)、in-process 或 tmux。覆盖此会话的 teammateMode 设置。请参阅 选择显示模式 |
claude --teammate-mode in-process |
--tmux |
为 worktree 创建 tmux 会话。需要 --worktree。在可用时使用 iTerm2 原生窗格;传递 --tmux=classic 以使用传统 tmux |
claude -w feature-auth --tmux |
--tools |
限制 Claude 可以使用的内置工具。使用 "" 禁用所有,"default" 表示全部,或工具名称如 "Bash,Edit,Read" |
claude --tools "Bash,Edit,Read" |
--verbose |
启用详细日志记录,显示完整的逐轮输出。覆盖此会话的 viewMode 设置 |
claude --verbose |
--version, -v |
输出版本号 | claude -v |
--worktree, -w |
在隔离的 git worktree 中启动 Claude,位于 <repo>/.claude/worktrees/<name>。如果未给出名称,则自动生成一个。传递 #<number> 或 GitHub 拉取请求 URL 以从 origin 获取该 PR 并从其分支 worktree |
claude -w feature-auth |
系统提示标志
Claude Code 提供四个标志用于自定义系统提示。所有四个都在交互和非交互模式下工作。
| 标志 | 行为 | 示例 |
|---|---|---|
--system-prompt |
替换整个默认提示 | claude --system-prompt "You are a Python expert" |
--system-prompt-file |
用文件内容替换 | claude --system-prompt-file ./prompts/review.txt |
--append-system-prompt |
附加到默认提示 | claude --append-system-prompt "Always use TypeScript" |
--append-system-prompt-file |
将文件内容附加到默认提示 | claude --append-system-prompt-file ./style-rules.txt |
--system-prompt 和 --system-prompt-file 互斥。附加标志可以与任一替换标志组合。
根据 Claude Code 的默认身份是否仍然适合您的任务来选择。当 Claude 应该保持编码助手身份同时遵循您的额外规则时,使用附加标志:每次调用的指令、输出格式或 -p 脚本的域上下文。附加保留默认工具指导、安全指令和编码约定,因此您只需提供不同的部分。当表面、身份或权限模型与 Claude Code 的不同时,使用替换标志,例如管道中没有人监视的非编码代理。替换会删除整个默认提示,包括工具指导和安全指令,因此您需要对任务仍然需要的任何内容负责。
这些标志仅适用于当前调用。对于可以在项目中切换和共享的持久化角色,请使用 输出样式。对于 Claude 应该始终遵循的项目约定,请使用 CLAUDE.md。Agent SDK 系统提示指南 更深入地涵盖了相同的决策。