CLI Reference
Complete reference for the jwc command-line interface. All flags are parsed from packages/coding-agent/src/cli/args.ts.
Usage
jwc [flags] [message...]
jwc [flags] @file1 @file2 "do something with these"
jwc [flags] /skill:jaw-interview
General
| Flag | Description |
--help, -h | Show help text and exit. |
--version, -v | Print version and exit. |
--print, -p | Print the response to stdout and exit (non-interactive). |
Model selection
| Flag | Argument | Description |
--provider | <name> | LLM provider to use (e.g. anthropic, openai, gemini). |
--model | <id> | Model identifier. Supports fuzzy matching (e.g. sonnet resolves to latest Claude Sonnet). |
--smol | <id> | Override the fast/cheap model used for lightweight tasks. Also settable via JWC_SMOL_MODEL. |
--slow | <id> | Override the slow/deep-reasoning model. Also settable via JWC_SLOW_MODEL. |
--plan | <id> | Override the planning model. Also settable via JWC_PLAN_MODEL. |
--mpreset | <name> | Load a named model preset (multi-model configuration). |
--default | | Set --mpreset as the default for this repository. Requires --mpreset. |
--models | <a,b,...> | Comma-separated list of models for multi-model sessions. |
--list-models | [pattern] | List available models for configured providers. Optional pattern filters results. |
--thinking | <effort> | Set thinking/reasoning effort level. Valid values: none, low, medium, high, max. |
Session management
| Flag | Argument | Description |
--continue, -c | | Continue the most recent session with conversation context. |
--resume, -r | [session-id] | Resume a previous session. Without an ID, resumes the most recent. |
--fork | <session-id> | Fork an existing session into a new one (copies context, fresh history). |
--no-session | | Disable session persistence. No history saved. |
--session-dir | <path> | Override the session storage directory. |
--provider-session-id | <id> | Pass a provider-level session ID (for providers that support server-side sessions). |
Execution mode
| Flag | Argument | Description |
--mode | <mode> | Output mode. Values: text (default), json, rpc, acp, rpc-ui, bridge. |
--tmux | | Launch inside a new tmux session. Enables detach/reattach for long-running tasks. |
--listen | <socket-path> | Run --mode rpc over a Unix-domain socket at the given path. |
--export | <path> | Export the session transcript to a file. |
Tool and capability control
| Flag | Argument | Description |
--tools | <a,b,...> | Comma-separated list of tools to enable. Only named tools are available; others are disabled. |
--no-tools | | Disable all tools. The agent can only respond with text. |
--no-lsp | | Disable the Language Server Protocol integration. |
--no-pty | | Disable PTY-based interactive bash execution. Also settable via JWC_NO_PTY. |
Prompt customization
| Flag | Argument | Description |
--system-prompt | <text> | Replace the entire system prompt with custom text. |
--append-system-prompt | <text> | Append text to the default system prompt. |
--api-key | <key> | Override the provider API key for this session. |
--no-rules | | Disable loading of repository rules (AGENTS.md, .jwc/ configs). |
--no-title | | Disable automatic title generation for the session. |
Input
| Syntax | Description |
jwc "message" | Pass an initial message as a positional argument. |
jwc @file.ts | Attach a file as context. Multiple @file references supported. |
jwc /skill:name | Activate a workflow skill on startup. |
--flag=value | All flags support = syntax: --model=gpt-4.1 |
Subcommands
| Command | Description |
jwc session list | List all sessions (active and historical). |
jwc session attach <name> | Attach to a running tmux session. |
jwc orchestrate <stage> | Advance the IPABCD pipeline. Stages: i, p, a, b, c, d, reset. |
jwc goal <op> | Manage the durable goal ledger. |
jwc stats | Open the local observability dashboard. |
Available tools
Default-enabled tools that can be referenced with --tools:
| Tool | Description |
read | Read file contents, directories, archives, URLs, databases |
bash | Execute bash commands |
edit | Surgical line-anchored file edits |
write | Create or overwrite files |
grep | Regex content search across files |
find | Find files by glob pattern |
lsp | Language Server Protocol code intelligence |
python | Execute Python code |
notebook | Edit Jupyter notebooks |
inspect_image | Analyze images with vision models |
browser | Browser automation via Puppeteer |
task | Launch parallel subagents |
todo_write | Manage todo/task lists |
web_search | Search the web for current information |
ask | Ask user questions (interactive mode only) |
Examples
# Quick question
jwc "what does the auth middleware do?"
# Fix a bug with file context
jwc "fix the null pointer in this handler" @src/api/users.ts
# Start an interview for vague requirements
jwc /skill:jaw-interview
# Deep reasoning with a specific model
jwc --thinking high --model o3 "design the caching layer"
# Non-interactive: print and exit
jwc -p "summarize the recent changes"
# Export conversation
jwc --export transcript.md
# Isolated worktree experiment
jwc --tmux --worktree ../refactor-auth "refactor the auth module"
See also