Reference
The csc command line
Everything you can do from the shell without starting a session.
csc is the whole command. Run it without a subcommand for the interactive
agent; add a subcommand for account setup, local sessions, unattended runs,
background agents, schedules, editor bridges, or maintenance. contextcode is
the equivalent long name.
The old cc launcher is retired because that name commonly belongs to the
system C compiler.
Complete shell reference
This table is generated from the help text shipped by ContextCode, so aliases and top-level flags stay aligned with the binary.
Commands
csc login- Sign in via browser (device flow); also /login in chat
csc logout [--all]- Remove the saved token (--all clears shared credentials too)
csc setup --profile <token>- Redeem a one-time setup token from the dashboard
csc connect <project>- Connect your coding assistant to a project and save its first memory
csc doctor- Diagnose auth, connectivity, scope, index, and terminal
csc config- Print redacted local configuration and active scope
csc run "<prompt>"- Headless one-shot run (--json, --agent, --image, --add-dir, --permission-mode, --timeout)
csc resume [id]- Resume a saved session (bare opens the session browser)
csc continue- Resume the most recent session in this project
csc sessions [search|rm|rename|export]- Manage saved local sessions
csc agent <subcommand>- List, run, validate, and inspect background agents
csc agent daemon --foreground- Run the shared per-user agent daemon (autostarts on demand; set CONTEXTCODE_AGENT_DAEMON_AUTOSTART=off to disable)
csc agent service <action>- Install, start, stop, status, or uninstall its OS service
csc schedule <subcommand>- Add, list, pause, resume, run, inspect, or remove durable agent schedules
csc usage [--json]- Credit balance, plan, and live model rates
csc mcp- Serve ContextCode as an MCP server (stdio)
csc mcp add|list|remove|import- Manage connected MCP servers (csc mcp help)
csc editor serve --stdio- Serve EditorBridge v2 for VS Code and editor clients
csc serve-stdio- Legacy editor transport bridge
csc update [--check]- Self-update in place (aliases: upgrade, self-update)
csc version- Print the version
csc help- Show this reference
Global flags
csc --continue, -c- Resume the most recent session in this project
csc --resume[=id]- Open the session browser (or resume a specific session)
csc --add-dir <path>- Extra directory filesystem tools may read/write (repeatable)
csc --plan | --read-only- Read-only mode: deny writes, shell, and MCP actions
csc --auto | --yolo- Safe auto for workspace work + read-only Git inspection; risky tools ask or remain blocked
csc --bypass- Bounded no-prompt mode: proven workspace-contained work and exact trusted approvals run; unverifiable or blocked operations are denied
csc --theme <name>- UI theme (default contextstream-dark)
csc --help, -h- Show this reference
csc --version, -v- Print the version
Starting a session
csc # new interactive session in this project
csc --continue # latest local session for this project
csc --resume # local session browser
csc --resume=<id> # one local session directly
csc --plan # read-only exploration and planning
csc --auto # safely apply routine workspace work--read-only is the long-form alias for --plan; --yolo is the compatibility
alias for --auto. --bypass is still bounded: operations that cannot be
proved safe or explicitly trusted remain denied.
Interactive media attachments
Reference a supported local file with @path, drag it into the terminal, or
use the VS Code attachment picker:
compare @before.png with @after.png and find the regression
summarize the decisions in @architecture-review.mp4
extract the implementation requirements from @launch-spec.pdfInteractive turns accept PNG, JPEG, GIF, and WebP images; MP4, MOV, WebM, and MPEG video; MP3, WAV, M4A, WebM, Ogg, FLAC, and AAC audio; and PDFs. A turn can carry up to eight files and 20 MiB total, with a 10 MiB per-image limit. The file signature is checked locally before anything is sent.
Media turns use managed Gemini 3.7 Flash on the Vertex priority lane. A quick single-image question uses Low reasoning; comparisons and careful media or document analysis use High. Attachment bytes are turn-scoped, excluded from session journals and agent receipts, and never silently replayed through a different provider if media analysis fails.
This is different from indexing media in ContextStream, which creates a durable, searchable project asset. Attach a file when the current turn needs it; index it when future sessions should be able to find and cite it.
The session browser and csc sessions operate on files under
~/.contextcode/sessions/. Shared project memory and captured history can
cross machines; the resumable local session file does not.
Account, scope, and maintenance
login uses browser device flow. logout removes this machine's saved token;
logout --all also clears the shared credential locations ContextCode knows
about. setup --profile <token> redeems a one-time dashboard setup token.
Use csc config to print the active configuration with secrets redacted, and
csc doctor to diagnose authentication, connectivity, project scope,
indexing, and terminal support. csc update --check checks without installing;
update, upgrade, and self-update name the same updater.
One-shot runs
csc run accepts a prompt as arguments or from standard input. Use a bare --
before literal prompt text that starts with a dash:
csc run --json -- "review the diff and verify the tests"
printf '%s\n' "explain the failure" | csc run --jsonIt supports one final JSON object, streamed JSON events, an explicit agent and
permission mode, bounded or unbounded runtime, quiet progress, and up to three
repeatable PNG/JPEG --image references. That headless image contract is
narrower than interactive media attachments. See Running it headless and in
CI for the exact contract.
Agents and schedules
csc agent manages the shared per-user agent daemon, agents, and run history.
The daemon starts on demand unless
CONTEXTCODE_AGENT_DAEMON_AUTOSTART=off. csc agent service installs or
controls its operating-system service.
csc schedule creates durable schedules that run on this machine. The
subcommands are add, list, show, pause, resume, run, remove, and
history; actions after creation use the schedule ID. See Scheduled
runs for timing syntax.
Connected tools and editor bridges
csc mcp with no management subcommand serves ContextCode itself over stdio.
csc mcp add, list, enable, disable, remove, and import manage the
outside servers ContextCode can call.
csc editor serve --stdio is the current EditorBridge v2 endpoint for VS Code
and editor clients. csc serve-stdio remains only as the legacy bridge.
Argument rules
Global flags belong before a subcommand. csc run accepts its own flags before
or after ordinary prompt words, but -- is the unambiguous boundary when
prompt text might look like an option. Run csc help, csc <command> --help,
or csc mcp help for the live build's full subcommand syntax.
If it doesn't work
csc: command not found. Installed to ~/.local/bin. Open a new terminal
or add it to your PATH.
A command fails with an auth error. csc doctor reports which part of
authentication, connectivity, or scope failed.
A local session is missing on another computer. Local resume files do not sync. Start a new session there and ask it to recall the shared project history.
A copied prompt is treated as an option. Put it after --.