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, --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 --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.
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 references. 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 --.