文档索引
在此获取完整文档索引:https://code.claude.com/docs/llms.txt 使用此文件发现所有可用页面,然后再进一步探索。
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 预填邮箱地址,--force 强制 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 | 打开代理视图以监控和调度并行后台会话。使用 --cwd <path> 仅显示在该目录下启动的会话,或 --json 将活跃会话打印为 JSON 数组以用于脚本。传递 --permission-mode、--model 或 --effort 设置调度会话的默认值。像顶层 claude 命令一样接受 --settings、--add-dir、--plugin-dir 和 --mcp-config。打开代理视图需要交互式终端 | claude agents --json |
claude attach <id> | 在此终端中附加到后台会话 | claude attach 7c5dcf5d |
claude auto-mode defaults | 以 JSON 格式打印内置的自动模式分类器规则。使用 claude auto-mode config 查看应用设置后的有效配置 | claude auto-mode defaults > rules.json |
claude daemon status | 打印后台会话监督器的状态、版本、socket 目录和工作者计数以供诊断。如果监督器未运行则以 1 退出 | claude daemon status |
claude logs <id> | 打印后台会话的最近输出 | claude logs 7c5dcf5d |
claude mcp | 配置模型上下文协议 (MCP) 服务器 | 参见 Claude Code MCP 文档。 |
claude plugin | 管理 Claude Code 插件。别名:claude plugins。参见插件参考了解子命令 | 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 | 启动远程控制服务器以从 Claude.ai 或 Claude 应用控制 Claude Code。以服务器模式运行(无本地交互式会话)。参见服务器模式标志 | claude remote-control --name "My Project" |
claude respawn <id> | 重启后台会话,无论运行中还是已停止,保持其对话完整。使用 --all 重启每个运行中的会话,例如以获取更新后的 Claude Code 二进制文件 | claude respawn 7c5dcf5d |
claude rm <id> | 从列表中移除后台会话。对话记录保留在你的本地机器上,可通过 claude --resume 访问 | claude rm 7c5dcf5d |
claude setup-token | 为 CI 和脚本生成长期 OAuth 令牌。将令牌打印到终端而不保存它。需要 Claude 订阅。参见生成长期令牌 | claude setup-token |
claude stop <id> | 停止后台会话。也接受 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 | 最小模式:跳过钩子、技能、插件、MCP 服务器、自动记忆和 CLAUDE.md 的自动发现,使脚本调用启动更快。Claude 可以访问 Bash、文件读取和文件编辑工具。设置 CLAUDE_CODE_SIMPLE。参见裸模式 | claude --bare -p "query" |
--betas | 包含在 API 请求中的测试版头(仅限 API 密钥用户) | claude --betas interleaved-thinking |
--bg | 作为后台代理启动会话并立即返回。打印会话 ID 和管理命令。与 --agent 结合运行特定 subagent | claude --bg "investigate the flaky test" |
--channels | (研究预览)Claude 应在此会话中监听的 MCP 服务器的频道通知。以空格分隔的 plugin:<name>@<marketplace> 条目列表。需要 Claude.ai 认证 | claude --channels plugin:my-notifier@my-marketplace |
--chrome | 启用 Chrome 浏览器集成以进行 Web 自动化和测试 | claude --chrome |
--continue, -c | 加载当前目录中最近的对话。包括通过 /add-dir 添加了此目录的会话 | claude --continue |
--dangerously-load-development-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 | 禁用此会话的所有技能和命令 | claude --disable-slash-commands |
--disallowedTools | 拒绝规则。裸工具名称将该工具从模型的上下文中移除。带作用域的规则如 Bash(rm *) 保持工具可用,仅拒绝匹配的调用 | "Bash(git log *)" "Bash(git diff *)" "Edit" |
--effort | 设置当前会话的努力级别。选项:low、medium、high、xhigh、max;可用级别取决于模型。覆盖此会话的 effortLevel 设置且不持久化 | claude --effort high |
--enable-auto-mode | 在 v2.1.111 中移除。自动模式现在默认在 Shift+Tab 循环中;使用 --permission-mode auto 以在其中启动 | claude --permission-mode auto |
--exclude-dynamic-system-prompt-sections | 将每台机器的部分从系统提示中移出(工作目录、环境信息、内存路径、git-repo 标志)到第一条用户消息中。改善在运行相同任务的不同用户和机器之间的提示缓存重用。仅适用于默认系统提示;设置 --system-prompt 或 --system-prompt-file 时忽略。与 -p 结合用于脚本化多用户工作负载 | claude -p --exclude-dynamic-system-prompt-sections "query" |
--fallback-model | 当默认模型过载时启用自动回退到指定模型。在打印模式 (-p) 和后台会话中生效,这些以非交互方式运行;在交互式会话中忽略 | claude -p --fallback-model sonnet "query" |
--fork-session | 恢复时,创建新的会话 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 匹配器的设置钩子(仅限打印模式) | claude -p --init "query" |
--init-only | 运行设置和 SessionStart 钩子,然后退出而不开始对话 | claude --init-only |
--include-hook-events | 在输出流中包含所有钩子生命周期事件。需要 --output-format stream-json | claude -p --output-format stream-json --verbose --include-hook-events "query" |
--include-partial-messages | 在输出中包含部分流式事件。需要 --print 和 --output-format stream-json | claude -p --output-format stream-json --verbose --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 匹配器的设置钩子(仅限打印模式) | 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 上使用提供的任务描述创建新的 Web 会话 | claude --remote "Fix the login bug" |
--remote-control, --rc | 启用远程控制的交互式会话,以便你也可以从 claude.ai 或 Claude 应用控制它。可选传递会话名称 | claude --remote-control "My Project" |
--remote-control-session-name-prefix <prefix> | 未设置显式名称时自动生成的远程控制会话名称前缀。默认为你的机器主机名,生成如 myhost-graceful-unicorn 的名称。设置 CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX 具有相同效果 | claude remote-control --remote-control-session-name-prefix dev-box |
--replay-user-messages | 将来自标准输入的用户消息重新发送到标准输出以供确认。需要 --input-format stream-json 和 --output-format stream-json | claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages |
--resume, -r | 通过 ID 或名称恢复特定会话,或显示交互式选择器选择会话。包括通过 /add-dir 添加了此目录的会话。从 v2.1.144 开始,后台会话在选择器中标记为 bg 显示 | 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 | 在你的本地终端恢复 Web 会话 | claude --teleport |
--teammate-mode | 设置代理团队队友的显示方式:auto(默认)、in-process 或 tmux。覆盖此会话的 teammateMode 设置。参见选择显示模式 | claude --teammate-mode in-process |
--tmux | 为工作树创建 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 工作树中启动 Claude,位于 <repo>/.claude/worktrees/<name>。如果未提供名称,则自动生成。传递 #<number> 或 GitHub 拉取请求 URL 从 origin 获取该 PR 并从中创建工作树 | 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 系统提示指南更深入地涵盖了相同的决策。