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

FlagDescription
--help, -hShow help text and exit.
--version, -vPrint version and exit.
--print, -pPrint the response to stdout and exit (non-interactive).

Model selection

FlagArgumentDescription
--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).
--defaultSet --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

FlagArgumentDescription
--continue, -cContinue 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-sessionDisable 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

FlagArgumentDescription
--mode<mode>Output mode. Values: text (default), json, rpc, acp, rpc-ui, bridge.
--tmuxLaunch 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

FlagArgumentDescription
--tools<a,b,...>Comma-separated list of tools to enable. Only named tools are available; others are disabled.
--no-toolsDisable all tools. The agent can only respond with text.
--no-lspDisable the Language Server Protocol integration.
--no-ptyDisable PTY-based interactive bash execution. Also settable via JWC_NO_PTY.

Prompt customization

FlagArgumentDescription
--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-rulesDisable loading of repository rules (AGENTS.md, .jwc/ configs).
--no-titleDisable automatic title generation for the session.

Input

SyntaxDescription
jwc "message"Pass an initial message as a positional argument.
jwc @file.tsAttach a file as context. Multiple @file references supported.
jwc /skill:nameActivate a workflow skill on startup.
--flag=valueAll flags support = syntax: --model=gpt-4.1

Subcommands

CommandDescription
jwc session listList 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 statsOpen the local observability dashboard.

Available tools

Default-enabled tools that can be referenced with --tools:

ToolDescription
readRead file contents, directories, archives, URLs, databases
bashExecute bash commands
editSurgical line-anchored file edits
writeCreate or overwrite files
grepRegex content search across files
findFind files by glob pattern
lspLanguage Server Protocol code intelligence
pythonExecute Python code
notebookEdit Jupyter notebooks
inspect_imageAnalyze images with vision models
browserBrowser automation via Puppeteer
taskLaunch parallel subagents
todo_writeManage todo/task lists
web_searchSearch the web for current information
askAsk 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