$npx -y skills add parcadei/Continuous-Claude-v3 --skill cli-referenceClaude Code CLI commands, flags, headless mode, and automation patterns
| 1 | # CLI Reference |
| 2 | |
| 3 | Complete reference for Claude Code command-line interface. |
| 4 | |
| 5 | ## When to Use |
| 6 | |
| 7 | - "What CLI flags are available?" |
| 8 | - "How do I use headless mode?" |
| 9 | - "Claude in automation/CI/CD" |
| 10 | - "Output format options" |
| 11 | - "System prompt via CLI" |
| 12 | - "How do I spawn agents properly?" |
| 13 | |
| 14 | ## Core Commands |
| 15 | |
| 16 | | Command | Description | Example | |
| 17 | |---------|-------------|---------| |
| 18 | | `claude` | Start interactive REPL | `claude` | |
| 19 | | `claude "query"` | REPL with initial prompt | `claude "explain this project"` | |
| 20 | | `claude -p "query"` | Headless mode (SDK) | `claude -p "explain function"` | |
| 21 | | `cat file \| claude -p` | Process piped content | `cat logs.txt \| claude -p "explain"` | |
| 22 | | `claude -c` | Continue most recent | `claude -c` | |
| 23 | | `claude -c -p "query"` | Continue via SDK | `claude -c -p "check types"` | |
| 24 | | `claude -r "id" "query"` | Resume session | `claude -r "auth" "finish PR"` | |
| 25 | | `claude update` | Update version | `claude update` | |
| 26 | | `claude mcp` | Configure MCP servers | See MCP docs | |
| 27 | |
| 28 | ## Session Control |
| 29 | |
| 30 | | Flag | Description | Example | |
| 31 | |------|-------------|---------| |
| 32 | | `--continue, -c` | Load most recent conversation | `claude --continue` | |
| 33 | | `--resume, -r` | Resume session by ID/name | `claude --resume auth-refactor` | |
| 34 | | `--session-id` | Use specific UUID | `claude --session-id "550e8400-..."` | |
| 35 | | `--fork-session` | Create new session on resume | `claude --resume abc --fork-session` | |
| 36 | |
| 37 | ## Headless Mode (Critical for Agents) |
| 38 | |
| 39 | | Flag | Description | Example | |
| 40 | |------|-------------|---------| |
| 41 | | `--print, -p` | Non-interactive, exit after | `claude -p "query"` | |
| 42 | | `--output-format` | `text`, `json`, `stream-json` | `claude -p --output-format json` | |
| 43 | | `--max-turns` | Limit agentic turns | `claude -p --max-turns 100 "query"` | |
| 44 | | `--verbose` | Full turn-by-turn output | `claude --verbose` | |
| 45 | | `--dangerously-skip-permissions` | Skip permission prompts | `claude -p --dangerously-skip-permissions` | |
| 46 | | `--include-partial-messages` | Include streaming events | `claude -p --output-format stream-json --include-partial-messages` | |
| 47 | | `--input-format` | Input format (text/stream-json) | `claude -p --input-format stream-json` | |
| 48 | |
| 49 | ## Tool Control |
| 50 | |
| 51 | | Flag | Description | Example | |
| 52 | |------|-------------|---------| |
| 53 | | `--allowedTools` | Auto-approve these tools | `"Bash(git log:*)" "Read"` | |
| 54 | | `--disallowedTools` | Block these tools | `"Bash(rm:*)" "Edit"` | |
| 55 | | `--tools` | Only allow these tools | `--tools "Bash,Edit,Read"` | |
| 56 | |
| 57 | ## Subagent Definition (--agents flag) |
| 58 | |
| 59 | Define custom subagents inline via JSON: |
| 60 | |
| 61 | ```bash |
| 62 | claude --agents '{ |
| 63 | "code-reviewer": { |
| 64 | "description": "Expert code reviewer. Use proactively after code changes.", |
| 65 | "prompt": "You are a senior code reviewer. Focus on code quality and security.", |
| 66 | "tools": ["Read", "Grep", "Glob", "Bash"], |
| 67 | "model": "sonnet" |
| 68 | }, |
| 69 | "debugger": { |
| 70 | "description": "Debugging specialist for errors and test failures.", |
| 71 | "prompt": "You are an expert debugger. Analyze errors and provide fixes." |
| 72 | } |
| 73 | }' |
| 74 | ``` |
| 75 | |
| 76 | ### Agent Fields |
| 77 | |
| 78 | | Field | Required | Description | |
| 79 | |-------|----------|-------------| |
| 80 | | `description` | Yes | When to invoke this agent | |
| 81 | | `prompt` | Yes | System prompt for behavior | |
| 82 | | `tools` | No | Allowed tools (inherits all if omitted) | |
| 83 | | `model` | No | `sonnet`, `haiku`, or `claude-opus-4-5-20251101` | |
| 84 | |
| 85 | ### Key Insight |
| 86 | When Lead uses Task tool, it auto-spawns from these definitions. No manual spawn needed. |
| 87 | |
| 88 | ## System Prompt Customization |
| 89 | |
| 90 | | Flag | Behavior | Modes | |
| 91 | |------|----------|-------| |
| 92 | | `--system-prompt` | **Replace** entire prompt | Interactive + Print | |
| 93 | | `--system-prompt-file` | **Replace** from file | Print only | |
| 94 | | `--append-system-prompt` | **Append** to default (recommended) | Interactive + Print | |
| 95 | |
| 96 | **Use `--append-system-prompt`** for most cases - preserves Claude Code capabilities. |
| 97 | |
| 98 | ## Model Selection |
| 99 | |
| 100 | | Flag | Description | Example | |
| 101 | |------|-------------|---------| |
| 102 | | `--model` | Set model for session | `--model claude-sonnet-4-5` | |
| 103 | | `--fallback-model` | Fallback if default overloaded | `--fallback-model sonnet` | |
| 104 | |
| 105 | Aliases: `sonnet`, `opus`, `haiku` |
| 106 | |
| 107 | ## MCP Configuration |
| 108 | |
| 109 | | Flag | Description | Example | |
| 110 | |------|-------------|---------| |
| 111 | | `--mcp-config` | Load MCP servers from JSON | `--mcp-config ./mcp.json` | |
| 112 | | `--strict-mcp-config` | Only use these MCP servers | `--strict-mcp-config --mcp-config ./mcp.json` | |
| 113 | |
| 114 | ## Advanced Flags |
| 115 | |
| 116 | | Flag | Description | Example | |
| 117 | |------|-------------|---------| |
| 118 | | `--add-dir` | Add working directories | `--add-dir ../apps ../lib` | |
| 119 | | `--agent` | Specify agent for session | `--agent my-custom-agent` | |
| 120 | | `--permission-mode` | Start in permission mode | `--permission-mode plan` | |
| 121 | | `--permission-prompt-tool` | MCP tool for permissions | `--permission-prompt-tool mcp_auth` | |
| 122 | | `--plugin-dir` | Load plugins from directory | `--plugin-dir ./my-plugins` | |
| 123 | | `--settings` | Load setting |