Claude Code CLI 启动标志是控制其行为的开关,通过在终端命令后附加这些标志,用户可以精确配置会话管理、模型选择、权限安全、输出格式等 16 个维度。本文基于官方源码,将 20 余个标志按功能分类整理为速查表,并汇总了顶级子命令与关键环境变量,助你快速查阅与应用。
Claude Code CLI 启动标志速查:20+ Flag 分类参考
从终端启动 Claude Code 时,可以通过附加一系列标志(Flags)来定制其行为。这些标志是实现结构化代理工作流的关键控制点,允许你在会话开始时就设定好模型、权限、输出格式等配置,无需在交互中逐步调整。
以下是基于源码提炼的 Claude Code CLI 启动标志速查表,共分为 16 个功能类别。
会话管理 (Session Management)
这类标志主要用于控制对话的持续性与恢复。
| 标志 | 短标志 | 描述 |
|---|---|---|
--continue |
-c |
继续当前目录下最近一次的对话。 |
--resume |
-r |
通过 ID 或名称恢复特定会话,或显示交互式选择器。 |
--from-pr <NUMBER|URL> |
恢复与特定 GitHub PR 关联的会话。 | |
--fork-session |
在恢复时创建一个新的会话 ID(需与 --resume 或 --continue 一起使用)。 |
|
--session-id <UUID> |
使用一个特定的会话 ID(必须是有效的 UUID)。 | |
--no-session-persistence |
禁用会话持久化(仅用于 print 模式)。 | |
--remote |
在 claude.ai 上创建一个新的 web 会话。 | |
--teleport |
将一个 web 会话恢复到你的本地终端中。 |
模型与配置 (Model & Configuration)
用于指定本次会话使用的模型或加载特定配置。
| 标志 | 短标志 | 描述 |
|---|---|---|
--model <NAME> |
设置模型,可使用别名(sonnet, opus, haiku)或完整的模型 ID。 |
|
--fallback-model <NAME> |
当默认模型过载时自动切换的后备模型(仅 print 模式有效)。 | |
--betas <LIST> |
在 API 请求中包含的 Beta 头(仅 API 密钥用户可用)。 |
权限与安全 (Permissions & Security)
这些标志涉及工具的执行权限,是实现安全代理工作流的核心。
| 标志 | 短标志 | 描述 |
|---|---|---|
--dangerously-skip-permissions |
跳过所有权限提示。请极度谨慎使用。 | |
--allow-dangerously-skip-permissions |
将权限绕过作为一个可选项启用,但不会立即激活它。 | |
--permission-mode <MODE> |
以指定的权限模式启动:default, plan, acceptEdits, bypassPermissions。 |
|
--allowedTools <TOOLS> |
设置无需提示即可执行的工具(使用权限规则语法)。 | |
--disallowedTools <TOOLS> |
从模型上下文中完全移除的工具。 | |
--tools <TOOLS> |
限制 Claude 可以使用哪些内置工具(使用 "" 可禁用所有)。 |
|
--permission-prompt-tool <TOOL> |
指定一个 MCP 工具来处理非交互模式下的权限提示。 |
输出与格式 (Output & Format)
控制 Claude 的响应如何呈现,尤其适用于自动化与脚本集成场景。
| 标志 | 短标志 | 描述 |
|---|---|---|
--print |
-p |
以打印模式(非交互模式)输出响应,常用于无头模式或 SDK 集成。 |
--output-format <FORMAT> |
输出格式:text, json, stream-json。 |
|
--input-format <FORMAT> |
输入格式:text, stream-json。 |
|
--json-schema <SCHEMA> |
获取符合指定 JSON schema 的验证结果(仅 print 模式)。 | |
--include-partial-messages |
包含部分流式事件(需要 --print 和 --output-format=stream-json)。 |
|
--verbose |
启用详细日志记录,输出完整的逐轮次信息。 |
系统提示 (System Prompt)
允许你自定义或扩展给予模型的初始指令。
| 标志 | 短标志 | 描述 |
|---|---|---|
--system-prompt <TEXT> |
用自定义文本替换整个系统提示。 | |
--system-prompt-file <PATH> |
从文件加载系统提示,替换默认提示(仅 print 模式)。 | |
--append-system-prompt <TEXT> |
将自定义文本追加到默认系统提示后。 | |
--append-system-prompt-file <PATH> |
将文件内容追加到默认提示后(仅 print 模式)。 |
代理与子代理 (Agent & Subagent)
用于启动特定代理或动态配置子代理。
| 标志 | 短标志 | 描述 |
|---|---|---|
--agent <NAME> |
为当前会话指定一个代理。 | |
--agents <JSON> |
通过 JSON 动态定义自定义子代理。 | |
--teammate-mode <MODE> |
设置代理团队的显示模式:auto, in-process, tmux。 |
MCP 与插件 (MCP & Plugins)
管理 Model Context Protocol 服务器和插件。
| 标志 | 短标志 | 描述 |
|---|---|---|
--mcp-config <PATH|JSON> |
从 JSON 文件或字符串加载 MCP 服务器配置。 | |
--strict-mcp-config |
仅使用 --mcp-config 指定的 MCP 服务器,忽略其他所有。 |
|
--plugin-dir <PATH> |
为本次会话从指定目录加载插件(可重复使用)。 |
目录与工作空间 (Directory & Workspace)
调整 Claude 可以访问的文件系统范围。
| 标志 | 短标志 | 描述 |
|---|---|---|
--add-dir <PATH> |
为 Claude 添加额外的工作目录。 | |
--worktree |
-w |
在一个隔离的 git worktree 中启动 Claude(从 HEAD 分支创建)。 |
预算与限制 (Budget & Limits)
控制 API 使用量和代理循环次数,防止意外开销。
| 标志 | 短标志 | 描述 |
|---|---|---|
--max-budget-usd <AMOUNT> |
API 调用前的最高美元金额限制(仅 print 模式)。 | |
--max-turns <NUMBER> |
限制代理的轮次(agent turns)数量(仅 print 模式)。 |
集成 (Integration)
连接外部工具与环境。
| 标志 | 短标志 | 描述 |
|---|---|---|
--chrome |
为 web 自动化启用 Chrome 浏览器集成。 | |
--no-chrome |
为本次会话禁用 Chrome 浏览器集成。 | |
--ide |
如果存在唯一的有效 IDE,则启动时自动连接。 |
初始化与维护 (Initialization & Maintenance)
执行初始化或维护钩子。
| 标志 | 短标志 | 描述 |
|---|---|---|
--init |
运行初始化钩子并启动交互模式。 | |
--init-only |
仅运行初始化钩子然后退出(无交互会话)。 | |
--maintenance |
运行维护钩子然后退出。 |
调试与诊断 (Debug & Diagnostics)
用于排查问题。
| 标志 | 短标志 | 描述 |
|---|---|---|
--debug <CATEGORIES> |
启用调试模式,并可选择过滤特定类别(例如 "api,hooks")。 |
设置覆盖 (Settings Override)
临时覆盖项目或用户的全局设置。
| 标志 | 短标志 | 描述 |
|---|---|---|
--settings <PATH|JSON> |
加载指定路径或 JSON 字符串的设置文件。 | |
--setting-sources <LIST> |
以逗号分隔的列表指定要加载的设置源:user, project, local。 |
|
--disable-slash-commands |
为本次会话禁用所有技能和斜杠命令。 |
版本与帮助 (Version & Help)
获取版本信息或帮助文档。
| 标志 | 短标志 | 描述 |
|---|---|---|
--version |
-v |
输出版本号。 |
--help |
-h |
显示帮助信息。 |
顶级子命令 (Subcommands)
这些是直接运行 claude <子命令> 的顶级命令。
| 子命令 | 描述 |
|---|---|
claude |
启动交互式 REPL。 |
claude "query" |
带初始提示启动 REPL。 |
claude agents |
列出已配置的代理。 |
claude auth |
管理 Claude Code 的认证。 |
claude doctor |
从命令行运行诊断程序。 |
claude install |
安装或切换 Claude Code 的原生构建版本。 |
claude mcp |
配置 MCP 服务器(add, remove, list, get, enable)。 |
claude plugin |
管理 Claude Code 插件。 |
claude remote-control |
管理远程控制会话。 |
claude setup-token |
创建一个用于订阅的长效令牌。 |
claude update / claude upgrade |
更新到最新版本。 |
环境变量 (Environment Variables)
这些环境变量需在启动 Claude Code 前于 Shell 中设置,它们无法通过 settings.json 配置。
| 变量 | 描述 |
|---|---|
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 |
启用实验性的代理团队功能。 |
CLAUDE_CODE_TMPDIR |
覆盖内部文件使用的临时目录。也可通过 settings.json 的 env 键配置。 |
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 |
启用额外目录的 CLAUDE.md 加载。 |
DISABLE_AUTOUPDATER=1 |
禁用自动更新。也可通过 settings.json 的 env 键配置。 |
CLAUDE_CODE_EFFORT_LEVEL |
控制思考深度。 |
USE_BUILTIN_RIPGREP=0 |
使用系统 ripgrep 而非内置版本(适用于 Alpine Linux)。 |
CLAUDE_CODE_SIMPLE |
启用简单模式(仅使用 Bash 和 Edit 工具)。也可通过 settings.json 的 env 键配置。 |
CLAUDE_BASH_NO_LOGIN=1 |
为 BashTool 跳过登录 Shell。 |
CCR_FORCE_BUNDLE=1 |
使用 claude --remote 时强制捆绑/上传本地仓库。也可通过 settings.json 的 env 键配置。 |
更多可通过 settings.json 的 "env" 键配置的环境变量(如 MAX_THINKING_TOKENS, CLAUDE_CODE_SHELL 等),请参考设置文档。
FAQ
Q: 这些启动标志与 settings.json 设置有什么区别?
A: 启动标志(Flags)是一次性、会话级别的命令行选项,用于本次启动时的临时配置。settings.json 是持久化的配置文件,可设置项目或用户级别的默认值。启动标志通常会覆盖 settings.json 中的同名设置。
Q: 如何查看所有可用的启动标志?
A: 在终端中运行 claude --help 即可查看当前版本所有可用的标志和子命令列表,这是最权威的参考。本文的速查表是基于官方文档整理的结构化分类。