这篇适合谁
适合已经装好 Claude Code、想在终端里直接指定参数启动,或者要把它放进脚本的人。读完你能分清常用的启动方式,知道权限、模型、输出和花费各由哪些参数控制,并知道参数不在 --help 里时该怎么办。
它是什么
Claude Code 的命令行入口是 claude。不带参数运行,会进入交互式会话;加上 -p,它只处理一次请求、打印结果后退出,适合放进脚本或管道。命令和参数很多,下面按用途分组整理。[1]
准备
- 已经安装 Claude Code,终端里能运行
claude。 - 登录用
claude auth login。想按 API 用量计费而不是用 Claude 订阅,改用claude auth login --console,它通过 Anthropic Console 登录。[1] - 用
claude auth status查看登录状态。它默认输出 JSON,加--text改成便于阅读的文字;已登录时退出码为 0,未登录为 1,脚本里可以直接判断。[1]
启动方式
claude:进入交互式会话。[1]claude "query":进入交互式会话,并带上第一条提示,例如claude "explain this project"。[1]claude -p "query":发送一次查询,打印结果后退出。[1]cat logs.txt | claude -p "explain":处理通过管道传进来的内容。[1]claude -c续接当前目录下最近的一次会话,claude -r "<session>" "query"按 ID 或名字恢复指定的会话。[1]
权限相关参数
这一类最需要看清楚,因为它们决定 Claude 能在不问你的情况下做什么。
--permission-mode指定会话以哪种权限模式开始,可选default、acceptEdits、plan、auto、dontAsk、bypassPermissions和manual。[1]--dangerously-skip-permissions跳过权限确认,等同于--permission-mode bypassPermissions。[1]--allowedTools列出可以不经确认直接执行的工具,也接受"Bash(git log *)"这样的规则。[1]--disallowedTools是拒绝规则。只写工具名(如Edit),会把这个工具从 Claude 的上下文里移除;写成Bash(rm *)这样带范围的规则,工具仍然可用,只拒绝匹配的调用。[1]--tools限制 Claude 能用的内置工具:""全部禁用,"default"使用默认集合,"Bash,Edit,Read"这样列出具体工具名的,则只开放这几个。[1]
模型和推理强度
--model可以用别名(如sonnet、opus、haiku、fable)或完整模型名指定本次会话的模型,它的优先级高于model设置和ANTHROPIC_MODEL环境变量。[1]--effort设置努力程度,可选low、medium、high、xhigh、max和ultracode,实际可用的档位取决于模型。[1]--fallback-model在主模型过载或不可用(例如已经退役)时自动切换。它接受逗号分隔的列表,按顺序尝试,例如claude --fallback-model sonnet,haiku。[1]
脚本和输出
--output-format指定-p模式的输出格式,可选text、json和stream-json。[1]--bare是精简模式:跳过 hooks、skills、插件、MCP 服务器、自动记忆和 CLAUDE.md 的自动发现,让脚本里的调用启动更快。[1]--system-prompt整体替换默认系统提示,--append-system-prompt则把文字追加到默认系统提示的末尾。[1]--mcp-config从 JSON 文件或字符串加载 MCP 服务器;--strict-mcp-config会跳过.mcp.json等其他位置配置的服务器,只加载通过--mcp-config传入的那些。[1]- 两个追加参数可以组合使用。下面这个例子里,Claude 收到的依次是默认系统提示、
style.md的内容、一个空行,再接上Always reply in French。[1]
claude -p --append-system-prompt-file ./style.md --append-system-prompt "Always reply in French" "Summarize README.md"花费上限
--max-budget-usd 只在 -p 模式下生效:估算的 API 花费达到这个金额后停止运行。子代理的花费也算在内。检查用的是 Claude Code 在客户端估算的数字,可能和账单对不上。[1]
常用子命令
claude agents打开代理视图,用来监控和派发并行的后台会话,需要交互式终端;claude agents --json则以 JSON 数组输出活跃的会话,便于脚本使用。[1]claude mcp login <name>为已配置的 MCP 服务器执行 OAuth 认证。在 SSH 里加上--no-browser,会打印授权链接而不是打开浏览器。[1]claude ultrareview [target]非交互地运行 ultrareview,结果输出到标准输出。--json输出原始数据,--timeout <minutes>可以覆盖默认的 45 分钟。[1]claude purge [path]删除某个项目在本机的全部 Claude Code 数据,包括转录、任务列表、调试日志和提示历史,加--dry-run可以先预览。[1]
常见问题
- **参数不在
--help里**:claude --help不会列出所有参数,所以不在帮助里不代表这个参数不能用。[1] - 子命令拼错:Claude Code 不会执行它,而是给出最接近的建议并退出,不会启动会话。例如
claude udpate会提示Did you mean claude update?。[1] - 装好了但跑不起来:
claude doctor在终端里只读地输出安装和设置诊断,不启动会话;在会话里运行/doctor,还能应用修复。[1] - 怀疑配置出了问题:用
--safe-mode启动,CLAUDE.md、skills、插件、hooks、MCP 服务器、自定义命令和自动记忆都不会加载,便于判断问题出在哪里。[1]
下一步
完整的参数表,以及每个参数需要的 Claude Code 版本,请以官方 CLI 参考为准。[1]
来源
- 1CLI referenceAnthropic Claude Code docs
引用本页: Claude Code 命令行参数速查. TellWorld, https://www.tellworld.net/zh/practice/practice-claude-code-cli-reference. 更新于 2026-11-14