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.jsonenv 键配置。
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 启用额外目录的 CLAUDE.md 加载。
DISABLE_AUTOUPDATER=1 禁用自动更新。也可通过 settings.jsonenv 键配置。
CLAUDE_CODE_EFFORT_LEVEL 控制思考深度。
USE_BUILTIN_RIPGREP=0 使用系统 ripgrep 而非内置版本(适用于 Alpine Linux)。
CLAUDE_CODE_SIMPLE 启用简单模式(仅使用 Bash 和 Edit 工具)。也可通过 settings.jsonenv 键配置。
CLAUDE_BASH_NO_LOGIN=1 为 BashTool 跳过登录 Shell。
CCR_FORCE_BUNDLE=1 使用 claude --remote 时强制捆绑/上传本地仓库。也可通过 settings.jsonenv 键配置。

更多可通过 settings.json"env" 键配置的环境变量(如 MAX_THINKING_TOKENS, CLAUDE_CODE_SHELL 等),请参考设置文档。

FAQ

Q: 这些启动标志与 settings.json 设置有什么区别? A: 启动标志(Flags)是一次性、会话级别的命令行选项,用于本次启动时的临时配置。settings.json持久化的配置文件,可设置项目或用户级别的默认值。启动标志通常会覆盖 settings.json 中的同名设置。

Q: 如何查看所有可用的启动标志? A: 在终端中运行 claude --help 即可查看当前版本所有可用的标志和子命令列表,这是最权威的参考。本文的速查表是基于官方文档整理的结构化分类。