Continuous-Claude-v3 cli-reference

Claude Code CLI commands, flags, headless mode, and automation patterns

install
source · Clone the upstream repo
git clone https://github.com/parcadei/Continuous-Claude-v3
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/parcadei/Continuous-Claude-v3 "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/cli-reference" ~/.claude/skills/parcadei-continuous-claude-v3-cli-reference && rm -rf "$T"
manifest: .claude/skills/cli-reference/SKILL.md
source content

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

CommandDescriptionExample
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 serversSee MCP docs

Session Control

FlagDescriptionExample
--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)

FlagDescriptionExample
--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

FlagDescriptionExample
--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

FieldRequiredDescription
description
YesWhen to invoke this agent
prompt
YesSystem prompt for behavior
tools
NoAllowed 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

FlagBehaviorModes
--system-prompt
Replace entire promptInteractive + Print
--system-prompt-file
Replace from filePrint only
--append-system-prompt
Append to default (recommended)Interactive + Print

Use

--append-system-prompt
for most cases - preserves Claude Code capabilities.

Model Selection

FlagDescriptionExample
--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

FlagDescriptionExample
--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

FlagDescriptionExample
--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)

ShortcutAction
Ctrl+C
Cancel current
Ctrl+D
Exit
Ctrl+R
Reverse search history
Esc Esc
Rewind changes
Shift+Tab
Toggle permission mode

Quick Commands

PrefixAction
/
Slash command
!
Bash mode
#
Add to memory
@
File mention