Skip to content

CLI 参考

Claude Code 命令行界面的完整参考,包括命令和标志。

CLI 命令

命令描述示例
claude启动交互式 REPLclaude
claude "query"使用初始提示启动 REPLclaude "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-id>" "query"按 ID 恢复会话claude -r "abc123" "Finish this PR"
claude update更新到最新版本claude update
claude mcp配置模型上下文协议 (MCP) 服务器请参阅 [Claude Code MCP 文档]。

CLI 标志

使用这些命令行标志自定义 Claude Code 的行为:

标志描述示例
--add-dir添加额外的工作目录供 Claude 访问(验证每个路径是否存在为目录)claude --add-dir ../apps ../lib
--agents通过 JSON 动态定义自定义 [子代理](参见下面的格式)claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'
--allowedTools应允许的工具列表,无需提示用户获得权限,除了 [settings.json 文件]"Bash(git log:*)" "Bash(git diff:*)" "Read"
--disallowedTools应禁止的工具列表,无需提示用户获得权限,除了 [settings.json 文件]"Bash(git log:*)" "Bash(git diff:*)" "Edit"
--print, -p打印响应而不进入交互模式(有关程序化使用详情,请参阅 [SDK 文档])claude -p "query"
--system-prompt用自定义文本替换整个系统提示(在交互和打印模式中都有效;在 v2.0.14 中添加)claude --system-prompt "You are a Python expert"
--system-prompt-file从文件加载系统提示,替换默认提示(仅打印模式;在 v1.0.54 中添加)claude -p --system-prompt-file ./custom-prompt.txt "query"
--append-system-prompt将自定义文本附加到默认系统提示的末尾(在交互和打印模式中都有效;在 v1.0.55 中添加)claude --append-system-prompt "Always use TypeScript"
--output-format为打印模式指定输出格式(选项:textjsonstream-jsonclaude -p "query" --output-format json
--input-format为打印模式指定输入格式(选项:textstream-jsonclaude -p --output-format json --input-format stream-json
--include-partial-messages在输出中包含部分流事件(需要 --print--output-format=stream-jsonclaude -p --output-format stream-json --include-partial-messages "query"
--verbose启用详细日志记录,显示完整的逐轮输出(有助于在打印和交互模式中调试)claude --verbose
--max-turns限制非交互模式中的代理轮数claude -p --max-turns 3 "query"
--model为当前会话设置模型,带有最新模型的别名(sonnetopus)或模型的完整名称claude --model claude-sonnet-4-5-20250929
--permission-mode以指定的 [权限模式] 开始claude --permission-mode plan
--permission-prompt-tool指定 MCP 工具以在非交互模式中处理权限提示claude -p --permission-prompt-tool mcp_auth_tool "query"
--resume按 ID 恢复特定会话,或在交互模式中选择claude --resume abc123 "query"
--continue加载当前目录中最近的对话claude --continue
--dangerously-skip-permissions跳过权限提示(谨慎使用)claude --dangerously-skip-permissions

代理标志格式

--agents 标志接受定义一个或多个自定义子代理的 JSON 对象。每个子代理需要一个唯一的名称(作为键)和一个具有以下字段的定义对象:

字段必需描述
description何时应调用子代理的自然语言描述
prompt指导子代理行为的系统提示
tools子代理可以使用的特定工具数组(例如 ["Read", "Edit", "Bash"])。如果省略,继承所有工具
model要使用的模型别名:sonnetopushaiku。如果省略,使用默认子代理模型

示例:

bash
claude --agents '{
  "code-reviewer": {
    "description": "Expert code reviewer. Use proactively after code changes.",
    "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",
    "tools": ["Read", "Grep", "Glob", "Bash"],
    "model": "sonnet"
  },
  "debugger": {
    "description": "Debugging specialist for errors and test failures.",
    "prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes."
  }
}'

有关创建和使用子代理的更多详情,请参阅 [子代理文档]。

系统提示标志

Claude Code 提供三个用于自定义系统提示的标志,每个标志都有不同的用途:

标志行为模式用例
--system-prompt替换整个默认提示交互 + 打印完全控制 Claude 的行为和指令
--system-prompt-file替换为文件内容仅打印从文件加载提示以实现可重现性和版本控制
--append-system-prompt附加到默认提示交互 + 打印添加特定指令,同时保持默认 Claude Code 行为

何时使用每个:

  • --system-prompt:当您需要完全控制 Claude 的系统提示时使用。这会删除所有默认 Claude Code 指令,为您提供一个空白的开始。

    bash
    claude --system-prompt "You are a Python expert who only writes type-annotated code"
  • --system-prompt-file:当您想从文件加载自定义提示时使用,对于团队一致性或版本控制的提示模板很有用。

    bash
    claude -p --system-prompt-file ./prompts/code-review.txt "Review this PR"
  • --append-system-prompt:当您想添加特定指令,同时保持 Claude Code 的默认功能完整时使用。这是大多数用例中最安全的选项。

    bash
    claude --append-system-prompt "Always use TypeScript and include JSDoc comments"

MIT