cli-reference
Claude Code CLI commands, flags, headless mode, and automation patterns
适合你,如果经常用 Claude Code CLI 并想掌握其全部命令和自动化模式。
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
~/.claude/skills/(项目级 .claude/skills/)~/.codex/skills/npx oh-my-skill add parcadei/continuous-claude-v3/cli-referencecurl -fsSL https://oh-my-skill.com/install.sh | bash -s -- parcadei/continuous-claude-v3/cli-referencenpx oh-my-skill verify parcadei/continuous-claude-v3/cli-reference怎么用
商店整理自技能原文 · 版本 d07ff4b · 表述以原文为准安装后,Claude 可以执行 CLI 命令、使用无头模式、自定义系统提示、定义子代理,并支持 JSON 和流式输出格式。
当用户询问 CLI 标志、无头模式、自动化/CI/CD 用法、输出格式选项或如何生成代理时触发。
技能原文 SKILL.md
CLI Reference
Complete reference for Claude Code command-line interface.
When to Use
- "What CLI flags are available?"
- "How do I use headless mode?"
- "Claude in automation/CI/CD"
- "Output format options"
- "System prompt via CLI"
- "How do I spawn agents properly?"
Core Commands
| Command | Description | Example | |---------|-------------|---------| | claude | Start interactive REPL | claude | | claude "query" | REPL with initial prompt | claude "explain this project" | | claude -p "query" | Headless mode (SDK) | claude -p "explain function" | | cat file \| claude -p | Process piped content | cat logs.txt \| claude -p "explain" | | claude -c | Continue most recent | claude -c | | claude -c -p "query" | Continue via SDK | claude -c -p "check types" | | claude -r "id" "query" | Resume session | claude -r "auth" "finish PR" | | claude update | Update version | claude update | | claude mcp | Configure MCP servers | See MCP docs |
Session Control
| Flag | Description | Example | |------|-------------|---------| | --continue, -c | Load most recent conversation | claude --continue | | --resume, -r | Resume session by ID/name | claude --resume auth-refactor | | --session-id | Use specific UUID | claude --session-id "550e8400-..." | | --fork-session | Create new session on resume | claude --resume abc --fork-session |
Headless Mode (Critical for Agents)
| Flag | Description | Example | |------|-------------|---------| | --print, -p | Non-interactive, exit after | claude -p "query" | | --output-format | text, json, stream-json | claude -p --output-format json | | --max-turns | Limit agentic turns | claude -p --max-turns 100 "query" | | --verbose | Full turn-by-turn output | claude --verbose | | --dangerously-skip-permissions | Skip permission prompts | claude -p --dangerously-skip-permissions | | --include-partial-messages | Include streaming events | claude -p --output-format stream-json --include-partial-messages | | --input-format | Input format (text/stream-json) | claude -p --input-format stream-json |
Tool Control
| Flag | Description | Example | |------|-------------|---------| | --allowedTools | Auto-approve these tools | "Bash(git log:*)" "Read" | | --disallowedTools | Block these tools | "Bash(rm:*)" "Edit" | | --tools | Only allow these tools | --tools "Bash,Edit,Read" |
Subagent Definition (--agents flag)
Define custom subagents inline via JSON:
claude --agents '{
"code-reviewer": {
"description": "Expert code reviewer. Use proactively after code changes.",
"prompt": "You are a senior code reviewer. Focus on code quality and security.",
"tools": ["Read", "Grep", "Glob", "Bash"],
"model": "sonnet"
},
"debugger": {
"description": "Debugging specialist for errors and test failures.",
"prompt": "You are an expert debugger. Analyze errors and provide fixes."
}
}'
Agent Fields
| Field | Required | Description | |-------|----------|-------------| | description | Yes | When to invoke this agent | | prompt | Yes | System prompt for behavior | | tools | No | Allowed tools (inherits all if omitted) | | model | No | sonnet, haiku, or claude-opus-4-5-20251101 |
Key Insight
When Lead uses Task tool, it auto-spawns from these definitions. No manual spawn needed.
System Prompt Customization
| Flag | Behavior | Modes | |------|----------|-------| | --system-prompt | Replace entire prompt | Interactive + Print | | --system-prompt-file | Replace from file | Print only | | --append-system-prompt | Append to default (recommended) | Interactive + Print |
Use --append-system-prompt for most cases - preserves Claude Code capabilities.
Model Selection
| Flag | Description | Example | |------|-------------|---------| | --model | Set model for session | --model claude-sonnet-4-5 | | --fallback-model | Fallback if default overloaded | --fallback-model sonnet |
Aliases: sonnet, opus, haiku
MCP Configuration
| Flag | Description | Example | |------|-------------|---------| | --mcp-config | Load MCP servers from JSON | --mcp-config ./mcp.json | | --strict-mcp-config | Only use these MCP servers | --strict-mcp-config --mcp-config ./mcp.json |
Advanced Flags
| Flag | Description | Example | |------|-------------|---------| | --add-dir | Add working directories | --add-dir ../apps ../lib | | --agent | Specify agent for session | --agent my-custom-agent | | --permission-mode | Start in permission mode | --permission-mode plan | | --permission-prompt-tool | MCP tool for permissions | --permission-prompt-tool mcp_auth | | --plugin-dir | Load plugins from directory | --plugin-dir ./my-plugins | | --settings | Load settings from file/JSON | --settings ./settings.json | | --setting-sources | Which settings to load | --setting-sources user,project | | --betas | Beta API headers | --betas interleaved-thinking | | --debug | Enable debug mode | --debug "api,hooks" | | --ide | Auto-connect to IDE | --ide | | --chrome | Enable Chrome integration | --chrome | | --no-chrome | Disable Chrome for session | --no-chrome | | --enable-lsp-logging | Verbose LSP debugging | --enable-lsp-logging | | --version, -v | Output version | claude -v |
Output Formats
JSON (for parsing)
claude -p "query" --output-format json
# {"result": "...", "session_id": "...", "usage": {...}}
Streaming (for real-time monitoring)
claude -p "query" --output-format stream-json # Newline-delimited JSON events
Structured Output (schema validation)
claude -p "Extract data" \
--output-format json \
--json-schema '{"type":"object","properties":{...}}'
Headless Agent Pattern (CRITICAL)
Proper headless agent spawn:
claude -p "$TASK_PROMPT" \
--session-id "$UUID" \
--dangerously-skip-permissions \
--max-turns 100 \
--output-format stream-json \
--agents '{...}' \
--append-system-prompt "Context: ..."
Missing any of these causes hangs:
--session-id- Track the session--dangerously-skip-permissions- Headless requires this--max-turns- Prevents infinite loops
Common Patterns
CI/CD Automation
claude -p "Run tests and fix failures" \ --dangerously-skip-permissions \ --max-turns 50 \ --output-format json | jq '.result'
Piped Input
cat error.log | claude -p "Find root cause" gh pr diff | claude -p "Review for security"
Multi-turn Session
id=$(claude -p "Start task" --output-format json | jq -r '.session_id') claude -p "Continue" --resume "$id"
Stream Monitoring
claude -p "Long task" \
--output-format stream-json \
--include-partial-messages | while read -r line; do
echo "$line" | jq '.type'
done
Keyboard Shortcuts (Interactive)
| Shortcut | Action | |----------|--------| | Ctrl+C | Cancel current | | Ctrl+D | Exit | | Ctrl+R | Reverse search history | | Esc Esc | Rewind changes | | Shift+Tab | Toggle permission mode |
Quick Commands
| Prefix | Action | |--------|--------| | / | Slash command | | ! | Bash mode | | # | Add to memory | | @ | File mention |