Skip to main content

CLI 命令

您可以使用这些命令启动会话、管道内容、恢复对话和管理更新: 如果您输入错误的子命令,Claude Code 会建议最接近的匹配项并退出而不启动会话。例如,claude udpate 会打印 Did you mean claude update?。 从 v2.1.199 开始,claude --dangerously-skip-permissions daemon <subcommand> 运行 daemon 子命令。早期版本将 daemon <subcommand> 视为新交互式会话的提示,因此当标志在前面时子命令永远不会运行,这是 claude 别名为包含该标志时的常见设置。只有前导 --dangerously-skip-permissions 或 --allow-dangerously-skip-permissions 以这种方式路由到 daemon;任何其他前导标志仍然启动交互式会话。

CLI 标志

使用这些命令行标志自定义 Claude Code 的行为。claude --help 不会列出每个标志,因此标志在 --help 中不出现并不意味着它不可用。

系统提示标志

Claude Code 提供五个标志用于自定义系统提示。四个设置其文本,使用 --system-prompt-snapshot 您可以控制对话是否保持它启动时的文本。所有五个都在交互和非交互模式中工作。 --system-prompt 和 --system-prompt-file 互斥。附加标志可以与任一替换标志组合。 当替换文本将每次运行相同的指令与每次运行变化的上下文结合时,添加仅包含 __SYSTEM_PROMPT_DYNAMIC_BOUNDARY__ 的行在指令和上下文之间。Claude Code 在第一个这样的行处分割提示并删除该行,因此上面的部分保持缓存而下面的部分变化。需要 Claude Code v2.1.275 或更高版本。缓存自定义提示的静态部分列出应用分割的配置。 根据 Claude Code 的默认身份是否仍适合您的任务进行选择。当 Claude 应保持编码助手同时遵循您的额外规则时使用附加标志:每次调用指令、输出格式或 -p 脚本的域上下文。附加保留默认工具指导、安全指令和编码约定,因此您只需提供不同的内容。当表面、身份或权限模型与 Claude Code 的不同时使用替换标志,例如管道中没有人监视的非编码代理。替换删除整个默认提示,包括工具指导和安全指令,因此您对任务仍然需要的任何内容负责。 对于您可以在项目之间切换和共享的持久角色,请使用输出样式。对于 Claude 应始终遵循的项目约定,请使用 CLAUDE.md。Agent SDK 关于系统提示的指南更深入地涵盖了相同的决定。

恢复对话中的系统提示标志

默认情况下,Claude Code 在对话的第一个请求上构建系统提示一次,应用任何系统提示标志中的文本,并在会话中记录它。在对话被压缩之前,每个后续请求都使用该记录的提示,包括在您使用 --resume 或 --continue 返回对话后。如果您在该后续启动时传递不同的系统提示标志文本或无,它在对话被压缩或您启动新对话时生效。 在云会话之外,如果您通过传递 --bare 或设置 CLAUDE_CODE_SIMPLE=1 在裸模式中启动 Claude Code,记录保持关闭,除非您传递 --system-prompt-snapshot on。在 v2.1.268 之前,不获取功能标志的会话,包括 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上的会话,在每个请求上重建提示,--system-prompt-snapshot 无效。 要在每个请求上重建提示,例如在跨 --continue 运行迭代其措辞时,传递 --system-prompt-snapshot off。在 v2.1.265 之前,传递任何系统提示标志也关闭记录,除非您传递 --system-prompt-snapshot on。

另请参阅