--add-dir | 添加额外的工作目录供 Claude 读取和编辑文件。授予文件访问权限;Claude Code 不会发现这些目录中的大多数 .claude/ 配置。验证每个路径是否作为目录存在。您不能添加大多数网络路径,例如 \\server\share。要在会话之间保持这些目录,请在设置中设置 permissions.additionalDirectories | claude --add-dir ../apps ../lib |
--advisor <model> | 使用模型别名 fable、opus 或 sonnet,或完整模型 ID 为此会话启用服务器端顾问工具。优先于会话的 advisorModel 设置。fable 需要Fable 访问权限 | claude --advisor opus |
--agent | 为当前会话指定代理(覆盖 agent 设置) | claude --agent my-custom-agent |
--agents | 通过 JSON 动态定义自定义子代理。接受为 CLI 定义的子代理列出的字段。Claude Code 在启动时验证 JSON 并在值无效时退出;有关消息以及跳过验证的标志和环境变量,请参阅 Invalid --agents configuration。验证需要 Claude Code v2.1.242 或更高版本 | 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, --allowed-tools | 无需提示权限即可执行的工具。有关模式匹配,请参阅权限规则语法。要限制哪些工具可用,请改用 --tools。如果您在此处命名任务跟踪工具之一,Claude Code 也会选择加入会话 | "Bash(git log *)" "Bash(git diff *)" "Read" |
--append-subagent-system-prompt | 将自定义文本附加到每个子代理的系统提示末尾,包括嵌套子代理,除了分叉的子代理,它重用对话自己的提示。仅在使用 -p 的非交互模式下应用。需要 Claude Code v2.1.205 或更高版本 | claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query" |
--append-subagent-system-prompt-file | 从文件加载文本并将其附加到子代理系统提示。--append-subagent-system-prompt 的替代方案,用于命令行上传递的文本过长。这两个标志不能组合。仅在使用 -p 的非交互模式下应用。需要 Claude Code v2.1.261 或更高版本 | claude -p --append-subagent-system-prompt-file ./subagent-rules.txt "query" |
--append-system-prompt | 将自定义文本附加到默认系统提示的末尾 | claude --append-system-prompt "Always use TypeScript" |
--append-system-prompt-file | 从文件加载额外的系统提示文本并附加到默认提示 | claude --append-system-prompt-file ./extra-rules.txt |
--autocompact <auto|tokens> | 为此会话设置自动压缩窗口而不更改您保存的设置。接受与 /autocompact 相同的值;该部分涵盖值形式以及什么覆盖标志。需要 Claude Code v2.1.221 或更高版本 | claude --autocompact 500k |
--ax-screen-reader | 呈现屏幕阅读器友好的输出:没有装饰性边框或动画的平面文本。强制使用经典渲染器,因此 tui 设置无效;附加的后台会话仍然全屏呈现。优先于 CLAUDE_AX_SCREEN_READER 和 axScreenReader 设置。需要 Claude Code v2.1.181 或更高版本 | claude --ax-screen-reader |
--bare | 最小模式:跳过 hooks、skills、自定义命令、子代理、plugins、MCP 服务器、自动内存和 CLAUDE.md 的自动发现,以便脚本化调用启动更快。使用 --add-dir 传递的目录中的 Skills 仍然加载。Claude 可以访问 Bash、文件读取和文件编辑工具。设置 CLAUDE_CODE_SIMPLE。请参阅裸模式 | claude --bare -p "query" |
--betas | 要包含在 API 请求中的 Beta 标头(仅限 API 密钥用户) | claude --betas interleaved-thinking |
--bg, --background | 将会话作为后台代理启动并立即返回。打印会话 ID 和管理命令。与 --exec 结合以将 shell 命令作为后台作业运行,而不是启动 Claude 会话,或与 --agent 结合以运行特定的子代理。不能与 -p/--print 结合;请参阅错误参考 | claude --bg "investigate the flaky test" |
--channels | (研究预览)Claude 应在此会话中侦听其频道通知的 MCP 服务器。空格分隔的 plugin:<name>@<marketplace> 条目列表。需要通过 claude.ai 或 Console API 密钥进行 Anthropic 身份验证 | claude --channels plugin:my-notifier@my-marketplace |
--chrome | 启用Chrome 浏览器集成以进行网络自动化和测试 | claude --chrome |
--cloud | 使用任务描述创建新的云会话。使用会话 ID(session_... 或 cse_...)或 claude.ai/code URL,使用 -p 将消息排队到该现有会话。请参阅发送后续消息。 | claude --cloud "Fix the login bug" |
--continue, -c | 加载当前目录中最近的对话,包括已完成的后台会话;打开已完成的后台会话需要 Claude Code v2.1.257 或更高版本。跳过使用 claude -p 或 Agent SDK 创建的会话,以及第一个提示为 /loop 的会话。claude -p --continue 包括 -p、SDK 和 /loop 会话。包括使用 /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。请参阅权限模式了解此操作跳过和不跳过的内容。对于使用 --bg 启动的会话,当主管重新启动会话时,该模式持续存在 | claude --dangerously-skip-permissions |
--debug | 启用调试模式,可选类别过滤,例如 --debug='mcp,startup' 或 --debug='!1p'。过滤器仅在 = 形式中绑定;空格分隔的过滤器启用调试模式而不进行过滤 | claude --debug='mcp,startup' |
--debug-file <path> | 将调试日志写入特定文件路径。隐式启用调试模式。优先于 CLAUDE_CODE_DEBUG_LOGS_DIR | claude --debug-file /tmp/claude-debug.log |
--disable-slash-commands | 为此会话禁用所有 skills 和命令 | claude --disable-slash-commands |
--disallowedTools, --disallowed-tools | 拒绝规则。裸工具名称从 Claude 的上下文中删除匹配的工具:"Edit" 删除 Edit,"*" 删除每个工具,"mcp__*" 删除每个 MCP 工具。作用域规则(如 Bash(rm *))使工具保持可用,仅拒绝如所写匹配的调用。命名 EndConversation 的规则在任何其他工具保持时无法删除它 | "Bash(git log *)" "Bash(git diff *)" "Edit" |
--effort | 为当前会话设置努力级别。选项:low、medium、high、xhigh、max 或 ultracode。可用级别取决于模型。ultracode 请求 xhigh 努力,ultracode 打开,需要 Claude Code v2.1.203 或更高版本。覆盖此会话的 modelSettings 和 effortLevel 设置,不持续 | claude --effort high |
--enable-auto-mode | 在 v2.1.111 中删除。自动模式现在默认在 Shift+Tab 循环中;使用 --permission-mode auto 在其中启动 | claude --permission-mode auto |
--environment <environment-id> | 创建在具有给定 ID 的自托管环境上运行的新云会话。环境 ID 以 ccpool_ 开头。有关调度行为和它拒绝的标志组合,请参阅 --environment 调度行为。需要 Claude Code v2.1.224 或更高版本 | claude -p "Fix the login bug" --environment ccpool_abc123 |
--exclude-dynamic-system-prompt-sections | 将系统提示的每台机器部分(工作目录、环境信息、内存路径、git-repo 标志)移到第一条用户消息中。改进跨不同用户和运行相同任务的机器的提示缓存重用。仅适用于默认系统提示;当设置 --system-prompt 或 --system-prompt-file 时忽略。与 -p 一起用于脚本化的多用户工作负载 | claude -p --exclude-dynamic-system-prompt-sections "query" |
--exec | 运行 shell 命令作为 PTY 支持的后台作业,而不是启动 Claude 会话。与 --bg 一起使用以从 shell 启动 | claude --bg --exec 'pytest -x' |
--fallback-model | 启用当主模型过载或不可用时自动回退到指定的模型,例如已停用的模型。接受按顺序尝试的逗号分隔列表。请参阅回退模型链。要在会话之间保持链,请使用此标志覆盖的 fallbackModel 设置 | claude --fallback-model sonnet,haiku |
--fork-session | 恢复时,创建新的会话 ID 而不是重用原始 ID(与 --resume 或 --continue 一起使用) | claude --resume abc123 --fork-session |
--forward-subagent-text | 在输出流中发出子代理文本和思考块作为 assistant 和 user 消息,设置 parent_tool_use_id,以便您可以重建每个子代理的记录。没有此标志,Claude Code 会省略在前台运行的子代理的文本和思考块。需要 --print 和 --output-format stream-json。Claude Code 也转发来自嵌套子代理的消息,将 parent_tool_use_id 设置为生成每个子代理的 Agent 或 Skill 工具调用的 ID;这需要 Claude Code v2.1.219 或更高版本,分叉 skill 生成的子代理的消息以及嵌套分叉 skills 的消息需要 v2.1.275 或更高版本。CLAUDE_CODE_FORWARD_SUBAGENT_TEXT 环境变量启用相同的行为。需要 Claude Code v2.1.211 或更高版本 | claude -p --output-format stream-json --verbose --forward-subagent-text "query" |
--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 生命周期事件。SessionStart 和 Setup hook 事件始终包含,不需要此标志。某些 hook 事件(如 Notification、SessionEnd、PreCompact 和 PostCompact)永远不会产生 hook_started 事件,即使使用此标志也是如此。对于这些事件,Claude Code 仍然在命令 hook 运行超过一秒时发出 hook_progress 并输出,并仅在在后台运行的 hook 完成时发出 hook_response。需要 --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 Code 在无效架构上以错误退出,并接受 format 关键字作为注释而不进行客户端验证 | claude -p --json-schema '{"type":"object","properties":{...}}' "query" |
--maintenance | 在会话之前使用 maintenance 匹配器运行Setup hooks(仅打印模式) | claude -p --maintenance "query" |
--max-budget-usd | 在停止之前在 API 调用上花费的最大美元金额(仅打印模式)。来自子代理的支出计入上限。当您使用 --continue 或 --resume 返回对话时,从早期运行恢复的总数不计入它。一旦支出达到上限,生成另一个子代理失败,出现 Budget limit reached,Claude Code 停止仍在运行的后台子代理;上限执行行为需要 Claude Code v2.1.217 或更高版本 | claude -p --max-budget-usd 5.00 "query" |
--max-turns | 限制代理转数(仅打印模式)。达到限制时以错误退出。默认无限制。使用 --input-format stream-json 时,当限制结束转时仍排队的消息保持排队并以其自己的限制启动新转 | claude -p --max-turns 3 "query" |
--mcp-config | 从 JSON 文件或字符串加载 MCP 服务器(空格分隔)。当您使用 -p 传递此标志时,Claude Code 在运行第一个转之前等待仍待处理的服务器连接,最多 MCP_TIMEOUT 启动超时,默认 30 秒;具有缓存工具列表的服务器跳过等待并在首次使用时连接。等待需要 Claude Code v2.1.221 或更高版本 | claude --mcp-config ./mcp.json |
--model | 使用模型别名(如 sonnet、opus、haiku 或 fable)或模型的完整名称为当前会话设置模型。覆盖 model 设置和 ANTHROPIC_MODEL | claude --model claude-sonnet-5 |
--name, -n | 为会话设置显示名称,显示在 /resume 和终端标题中。您可以使用 claude --resume <name> 恢复命名会话。在交互式会话中,如果此机器上的另一个实时会话已使用该名称,Claude Code 会应用其变体。
/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 或 manual 作为 default 的别名。manual 别名选择 UI 标记为 Manual 的权限模式,需要 Claude Code v2.1.200 或更高版本;claude --help 列出它代替 default,两个值都有效。覆盖设置文件中的 defaultMode。没有此标志或 --dangerously-skip-permissions,新会话在会话启动的权限模式中描述的权限模式中启动。对于 -p,当没有配置任何内容时为 default | claude --permission-mode plan |
--permission-prompt-tool | 指定 MCP 工具以在非交互模式下处理权限提示。Claude Code 在运行第一个转之前等待该工具的 MCP 服务器连接,最多 MCP_TIMEOUT 启动超时,默认 30 秒。
提示工具无法批准标记为需要用户交互的 MCP 工具:Claude Code 将其 allow 结果转换为拒绝。此限制需要 Claude Code v2.1.199 或更高版本 | claude -p --permission-prompt-tool mcp_auth_tool "query" |
--permission-prompts | 在打印模式下设置谁回答权限提示。使用默认 host,Claude Code 将它们发送到 Agent SDK 主机或 --permission-prompt-tool 工具。当没有人可以回答时传递 none,Claude Code 改为拒绝它们。请参阅在无人值守运行中关闭权限提示。需要 Claude Code v2.1.259 或更高版本 | claude -p --permission-prompts none "query" |
--plugin-dir | 从目录或 .zip 存档加载 plugin,或从plugins 文件夹加载多个,仅用于此会话。每个标志采用一个路径。重复标志以获取更多路径:--plugin-dir A --plugin-dir B.zip。传递 plugins 文件夹需要 Claude Code v2.1.265 或更高版本 | claude --plugin-dir ./my-plugin |
--plugin-url | 从 URL 获取 plugin .zip 存档,仅用于此会话。重复标志以获取多个 plugins,或在单个引用值中传递空格分隔的 URL | claude --plugin-url https://example.com/plugin.zip |
--print, -p | 打印响应而不进行交互模式(有关编程使用详情,请参阅 Agent SDK 文档) | claude -p "query" |
--prompt-suggestions | 在生成提示建议的每个转之后发出 prompt_suggestion 消息,其中包含预测的下一个用户提示;非常短的对话可能不会产生任何。需要 --print、--output-format stream-json 和 --verbose。请参阅提示建议 | claude -p --prompt-suggestions --output-format stream-json --verbose "query" |
--ref <branch> | 使用 --environment,基于命名的 ref 而不是本地 HEAD 的新会话检出 | claude -p "Run the smoke test" --environment ccpool_abc123 --ref main |
--remote | --cloud 的已弃用别名,包括现有会话形式 | 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 | 从 stdin 重新发出用户消息回到 stdout 以进行确认。需要 --input-format stream-json 和 --output-format stream-json | claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages |
--restricted | 在受限模式下启动。当评估工具在共享机器上驱动 claude 且 Claude Code 不得运行命令或读取该机器的用户和项目设置时使用。Claude Code 删除运行命令或代码的内置工具和 WebFetch,除非您在 --tools 中单独命名它们,而不是通过 default 预设。它还将内置文件工具限制在工作目录,仅加载托管设置和 --settings,拒绝 bypassPermissions,并拒绝从受限会话创建云会话。需要 Claude Code v2.1.248 或更高版本 | claude --restricted -p "query" |
--resume, -r | 按 ID 或名称恢复特定会话,或显示交互式选择器以选择会话。代替 ID,您可以传递会话的 .jsonl 记录文件的绝对路径。选择器和名称搜索包括使用 /add-dir 添加此目录的会话。当您传递会话 ID 时,Claude Code 搜索当前项目目录及其 git worktrees,然后搜索此机器上的所有其他项目。在 v2.1.223 之前,ID 搜索仅涵盖当前项目目录及其 git worktrees。后台会话在选择器中显示,标记为 bg | claude --resume auth-refactor |
--safe-mode | 禁用所有自定义以排除故障的损坏配置:CLAUDE.md、skills、plugins、hooks、MCP 服务器、自定义命令和代理、输出样式、工作流、自定义主题、自定义快捷键、状态行和文件建议命令、LSP 服务器和自动内存不加载。身份验证、模型选择、内置工具和权限正常工作,这与 --bare 不同。托管设置策略仍然适用,包括策略配置的 hooks、状态行和文件建议命令;托管 plugins、托管 skills、托管 CLAUDE.md 和策略配置的 MCP 服务器不适用。用于检查自定义是否触发自动模型回退。设置 CLAUDE_CODE_SAFE_MODE | claude --safe-mode |
--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 文件中的相同键。您省略的键保持其基于文件的值。文件必须是不超过 2 MiB 的常规文件。请参阅设置优先级 | claude --settings ./settings.json |
--strict-mcp-config | 仅使用 --mcp-config 中的 MCP 服务器,忽略所有其他 MCP 配置。有关标志在托管 MCP 文件下执行的操作,请参阅使用 managed-mcp.json 的独占控制 | 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 |
--system-prompt-snapshot | 传递 off 以在每个请求上重建系统提示,而不是重用在对话的第一个请求上记录的提示,例如在跨 --continue 运行迭代其措辞时。需要 Claude Code v2.1.257 或更高版本 | claude --system-prompt-snapshot off |
--teleport | 在本地终端中恢复云会话 | claude --teleport |
--teammate-mode | 设置代理团队队友的显示方式:in-process(默认)、auto、tmux 或 iterm2。覆盖此会话的 teammateMode 设置。请参阅选择显示模式 | claude --teammate-mode auto |
--tmux | 为 worktree 创建 tmux 会话。需要 --worktree。在可用时使用 iTerm2 本机窗格;传递 --tmux=classic 以获得传统 tmux | claude -w feature-auth --tmux |
--tools | 限制 Claude 可以使用的内置工具。使用 "" 禁用所有,"default" 用于默认集,或工具名称如 "Bash,Edit,Read"。在 macOS、Linux 和 WSL 上,默认集省略 Glob 和 Grep,如Glob 工具行为下所述。如果您在此处命名任务跟踪工具之一,Claude Code 也会选择加入。标志不影响 MCP 工具;要拒绝这些工具,请使用 --disallowedTools "mcp__*"。省略 EndConversation 的列表不会删除它;"" 仅在没有 MCP 工具保持时删除它 | claude --tools "Bash,Edit,Read" |
--verbose | 启用详细日志记录,显示完整的逐个转输出。覆盖此会话的 viewMode 设置 | claude --verbose |
--version, -v | 输出版本号 | claude -v |
--worktree, -w | 在隔离的 git worktree 中启动 Claude,位于 <repo>/.claude/worktrees/<name>。如果您不提供名称,Claude Code 会生成一个。传递 #<number>、GitHub 拉取请求 URL 或 GitLab 合并请求 URL 以从 origin 获取该 PR 或 MR 并从其分支 worktree。从 GitLab 合并请求分支需要 Claude Code v2.1.233 或更高版本 | claude -w feature-auth |