来源:Claude Code Cookbook · Part 4 · 原文标题:Part 4 — CLI Reference for Humans

本章不复制完整的 CLI Reference(那个太长)。它把 CLI 命令和 flag 按使用场景重新组织,每个 flag 标注用途、语法、示例和常见错误。
全部命令基于官方 CLI reference(验证日期:2026-08-11)。claude --help 并不列出所有 flag,所以一个 flag 没出现在 --help 中不代表它不存在。
官方参考:CLI reference、Commands、Environment variables


4.1 CLI 命令(场景化)

下面不按字母排,而是按你实际想做的事分组。

4.1.1 启动会话

命令作用示例
claude启动交互会话claude
claude "query"带初始提示启动交互会话claude "explain this project"
claude -p "query"通过 SDK 查询后退出(print mode)claude -p "explain this function"
cat file | claude -p "query"处理管道输入cat logs.txt | claude -p "explain"

4.1.2 继续与恢复会话

命令作用示例
claude -c继续当前目录最近的对话claude -c
claude -c -p "query"通过 SDK 继续claude -c -p "Check for type errors"
claude -r "<session>" "query"按 ID 或名称恢复会话claude -r "auth-refactor" "Finish this PR"
claude --fork-session恢复时创建新会话 ID(配合 --resume/--continue)claude --resume abc123 --fork-session
claude --from-pr 123打开按 PR 过滤的会话选择器claude --from-pr 123

4.1.3 选择模型与效果

Flag作用示例
--model <name>用别名(sonnet/opus/haiku/fable)或全名设置模型claude --model claude-sonnet-5
--effort <level>设置 effort level(low/medium/high/xhigh/max/ultracode)claude --effort high
--fallback-model <chain>主模型不可用时自动回退到指定模型claude --fallback-model sonnet,haiku
--advisor <model>为会话启用 advisor toolclaude --advisor opus

4.1.4 权限与沙箱

Flag作用示例
--permission-mode <mode>以指定权限模式开始(default/acceptEdits/plan/auto/dontAsk/bypassPermissions/manual)claude --permission-mode plan
--dangerously-skip-permissions跳过权限提示(等价于 --permission-mode bypassPermissions)claude --dangerously-skip-permissions
--allow-dangerously-skip-permissions把 bypassPermissions 加进 Shift+Tab 循环,但不以此开始claude --permission-mode plan --allow-dangerously-skip-permissions
--allowedTools "..."免提示执行的工具claude --allowedTools "Bash(git log *)" "Read"
--disallowedTools "..."禁止的工具claude --disallowedTools "Bash(rm *)" "Edit"
--add-dir <path>添加额外工作目录供读写claude --add-dir ../apps ../lib

4.1.5 会话命名与管理

Flag作用示例
--name, -n <name>设置会话显示名claude -n "my-feature-work"
--session-id <uuid>使用特定的会话 IDclaude --session-id "550e8400-..."
--no-session-persistence不保存会话(print mode)claude -p --no-session-persistence "query"

4.1.6 Worktree 与并行开发

Flag作用示例
--worktree, -w <name>在隔离的 git worktree 中启动claude -w feature-auth
--tmux为 worktree 创建 tmux 会话(需要 --worktree)claude -w feature-auth --tmux

4.1.7 Agent 相关

Flag作用示例
--agent <name>指定当前会话的 agentclaude --agent my-custom-agent
--agents '<json>'动态定义自定义 subagentsclaude --agents '{"reviewer":{...}}'
--bg, --background作为后台 agent 启动并立即返回claude --bg "investigate the flaky test"
--append-subagent-system-prompt给每个 subagent 的系统提示追加文本claude -p --append-subagent-system-prompt "Cite file paths"

4.1.8 System Prompt

Flag行为示例
--system-prompt <text>用自定义文本替换整个默认提示claude --system-prompt "You are a Python expert"
--system-prompt-file <file>用文件内容替换claude --system-prompt-file ./prompts/review.txt
--append-system-prompt <text>追加到默认提示末尾claude --append-system-prompt "Always use TypeScript"
--append-system-prompt-file <file>追加文件内容claude --append-system-prompt-file ./style-rules.txt

4.1.9 打印 / 结构化输出(Headless)

Flag作用示例
--print, -p无交互模式打印响应claude -p "query"
--output-format <fmt>输出格式:text/json/stream-jsonclaude -p "query" --output-format json
--input-format <fmt>输入格式:text/stream-jsonclaude -p --output-format json --input-format stream-json
--json-schema '<schema>'让输出匹配 JSON Schemaclaude -p --json-schema '{...}' "query"
--max-turns <n>限制 agentic turn 数claude -p --max-turns 3 "query"
--max-budget-usd <n>设置 API 花费上限claude -p --max-budget-usd 5.00 "query"
--verbose显示逐轮完整输出claude --verbose

4.1.10 调试与诊断

Flag作用示例
--debug[=category]启用调试模式,可按类别过滤claude --debug='mcp,startup'
--debug-file <path>把调试日志写入文件claude --debug-file /tmp/claude-debug.log
--safe-mode禁用所有自定义项,排查损坏配置claude --safe-mode
--bare最小模式,跳过自动发现,启动更快claude --bare -p "query"

4.1.11 Cloud / Web

Flag作用示例
--cloud "task"在 claude.ai 上创建新的 web sessionclaude --cloud "Fix the login bug"
--teleport在本地终端恢复 web sessionclaude --teleport
--environment <id>在指定(cloud/self-hosted)环境上创建 cloud sessionclaude -p "Run smoke test" --environment ccpool_abc123
--remote, --remote-control, --rc远程 / 远程控制会话claude --remote-control "My Project"

4.1.12 配置与更新

命令作用示例
claude update更新到最新版本claude update
claude install [version]安装或重装原生二进制claude install stable
claude auth login登录claude auth login --console
claude auth logout登出claude auth logout
claude auth status显示认证状态(JSON)claude auth status
claude doctor只读安装与配置诊断claude doctor
claude mcp配置 MCP serverclaude mcp list
claude plugin管理插件claude plugin install code-review@claude-plugins-official
claude setup-token为 CI 生成长期 OAuth tokenclaude setup-token
claude agents打开 agent viewclaude agents --json
claude gateway --config <file>启动自托管 Claude apps gatewayclaude gateway --config gateway.yaml
claude project purge [path]删除项目本地状态claude project purge ~/work/repo --dry-run
claude import [codex|gemini]把其他编码 Agent 的配置导入claude import codex --dry-run

4.2 常用 flag 详解

4.2.1 --permission-mode

用途:指定会话开始的权限模式。

语法:claude --permission-mode <mode>

支持值:default、acceptEdits、plan、auto、dontAsk、bypassPermissions,以及 manual(default 的别名,v2.1.200+)。

示例:claude --permission-mode plan

常见错误:以为 default 和 manual 是两个不同模式。二者是同一模式,manual 只是 CLI 界面显示的标签名。

与其他 flag 的交互:优先于 settings 文件中的 defaultMode。-p 的 print 模式也可用。

4.2.2 --model

用途:为当前会话选择模型。

语法:claude --model <alias | full-name>

示例:claude --model claude-sonnet-5

常见错误:以为 --model 对 settings 里的 model 字段或 ANTHROPIC_MODEL 环境变量有持久作用。它只覆盖当前会话。

4.2.3 --add-dir

用途:让 Claude 访问主工作目录之外的额外目录。

语法:claude --add-dir <path> [<path>...]

示例:claude --add-dir ../apps ../lib

常见错误:以为额外目录下的 .claude/ 配置会被自动发现。事实是它只授予文件访问权,大多数 .claude/ 配置不会从这些目录发现。

4.2.4 --worktree 与 --tmux

用途:在隔离的 git worktree 中启动会话,避免并行开发冲突。见 Part 22。

示例:

1
2
claude -w feature-auth
claude -w feature-auth --tmux

说明:--tmux 需要一个 tmux 会话,需要 --worktree。iTerm2 可用时用原生 pane,否则 --tmux=classic。


4.3 常见误区

  1. --dangerously-skip-permissions 与 --allow-dangerously-skip-permissions 是不同的。前者直接以 bypass 模式开始;后者只是把 bypass 加进 Shift+Tab 循环,让你从别的模式开始、之后手动切换过去。
  2. 不要用 sudo npm install -g:会导致权限问题和安全风险。
  3. --allowedTools 限制「免提示」的工具,--tools 限制「可用」的工具。两个不同概念——allowed 表示被预先批准,tools 表示从上下文移除。
  4. --permission-mode dontAsk 不会出现在 Shift+Tab 循环里,只能用 flag 启动。
  5. claude --help 不列出所有 flag。缺失于 --help 不代表不存在。

Official References

站内搜索

没有找到内容!