English ← MyDocs

文档索引

在此获取完整文档索引: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 的版本号,或 stablelatest。参见安装特定版本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 killclaude 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.additionalDirectoriesclaude --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 结合运行特定 subagentclaude --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_DIRclaude --debug-file /tmp/claude-debug.log
--disable-slash-commands禁用此会话的所有技能和命令claude --disable-slash-commands
--disallowedTools拒绝规则。裸工具名称将该工具从模型的上下文中移除。带作用域的规则如 Bash(rm *) 保持工具可用,仅拒绝匹配的调用"Bash(git log *)" "Bash(git diff *)" "Edit"
--effort设置当前会话的努力级别。选项:lowmediumhighxhighmax;可用级别取决于模型。覆盖此会话的 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-jsonclaude -p --output-format stream-json --verbose --include-hook-events "query"
--include-partial-messages在输出中包含部分流式事件。需要 --print--output-format stream-jsonclaude -p --output-format stream-json --verbose --include-partial-messages "query"
--input-format指定打印模式的输入格式(选项:textstream-jsonclaude -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使用最新模型的别名(sonnetopus)或模型的全名设置当前会话的模型。覆盖 model 设置和 ANTHROPIC_MODELclaude --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指定打印模式的输出格式(选项:textjsonstream-jsonclaude -p "query" --output-format json
--permission-mode以指定的权限模式开始。接受 defaultacceptEditsplanautodontAskbypassPermissions。覆盖设置文件中的 defaultModeclaude --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.zipclaude --plugin-dir ./my-plugin
--plugin-url从此会话从 URL 获取插件 .zip 归档。重复标志以加载多个插件,或在单个带引号的值中传递空格分隔的 URLclaude --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-jsonclaude -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要加载的设置源的逗号分隔列表(userprojectlocalclaude --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-processtmux。覆盖此会话的 teammateMode 设置。参见选择显示模式claude --teammate-mode in-process
--tmux为工作树创建 tmux 会话。需要 --worktree。可用时使用 iTerm2 原生窗格;传递 --tmux=classic 使用传统 tmuxclaude -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.mdAgent SDK 系统提示指南更深入地涵盖了相同的决策。

另请参阅