Skip to content

Colony CLI Reference

Complete command reference for the colony CLI, organized by category.

Note: Every synopsis and option description is sourced verbatim from the .command()/.description()/.option() registrations in packages/cli/src/index.ts and the individual command files, so this page matches colony <command> --help.

Slash commands vs. CLI commands: The colony CLI runs on your machine to manage pipeline infrastructure (init, start, stop, check, why, etc.). Slash commands (/colony:retry, /colony:state, /colony:cancel, etc.) are a separate control surface — they are posted as GitHub issue comments and processed by the Sprint Master to control individual in-flight issues. See the Slash Command Reference for the full slash command reference.



These options are accepted by most commands:

OptionDescription
-c, --config <path>Path to colony.config.yaml (default: auto-detected from ./colony.config.yaml or ~/.colony/config.yaml)

colony quickstart [options]

Set up Colony from scratch: validate prerequisites, generate config, initialize repos, and start agents.

OptionDescription
--dry-runPreview what quickstart would do without executing

The interactive wizard guides you through six phases: environment validation, repository configuration, database setup, cost preview, launch, and first issue creation. If interrupted, re-running resumes from the last successful phase.


colony init [options]

Initialize Colony: validate credentials and create pipeline labels.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Initialize only a specific repo
--conventions <language>Write a conventions template (ruby, rails, python, go, rust, java, node, typescript)
--forceOverwrite existing .colony/conventions.md
--generateInteractively generate a colony.config.yaml

colony bootstrap [stack] [name] [options]

Scaffold a new Colony-managed repo from a stack template.

Valid stacks: nextjs, rails, cloudflare-workers, django, go-cli

OptionDescription
-c, --config <path>Path to colony.config.yaml
--with-d1Add D1 database binding with Drizzle (cloudflare-workers)
--with-kvAdd KV namespace binding (cloudflare-workers)
--with-cronAdd cron trigger and scheduled handler (cloudflare-workers)
--with-resendAdd Resend email integration (nextjs, cloudflare-workers)
--with-stripeAdd Stripe payment integration (nextjs)
--with-postmarkAdd Postmark transactional email integration (rails, django)
--with-r2Add Cloudflare R2 object storage integration (nextjs, django)
--with-scheduled-tasksAdd Celery + django-celery-beat for scheduled tasks (django)
--with-sidekiqAdd Sidekiq background job processing (rails)
--with-punditAdd Pundit authorization policies (rails)
--with-hotwire-cableAdd Hotwire (Turbo + Stimulus) with Action Cable (rails)
--with-sqliteAdd SQLite storage via modernc.org/sqlite (go-cli)
--with-goreleaserAdd GoReleaser release configuration (go-cli)

See Bootstrap Guide for a full walkthrough.


colony bootstrap configure [options]

Apply conventions and tool ignore configs to the current repo.

OptionDescription
-c, --config <path>Path to colony.config.yaml
--dry-runPrint what would be done without writing

colony colonize [options]

Generate .colony/conventions.md by analyzing the target repository.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo

colony scan-conventions [options]

Auto-detect stack and generate .colony/conventions.md.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
--stack <templates>Force specific template keys (comma-separated)
--output <path>Output file path
--dry-runPrint detected stack without writing
--forceOverwrite existing conventions.md
--with-analysisUse LLM to refine conventions (costs API credits)

colony start [agent] [options]

Start agent processes (all if no agent specified).

OptionDescription
-c, --config <path>Path to colony.config.yaml
--nativeBypass deployment-mode guard and run native host processes even when deployment.mode is docker-compose or apple-container

colony stop [agent] [options]

Stop agent processes (all if no agent specified).

OptionDescription
-c, --config <path>Path to colony.config.yaml

colony status [options]

Show pipeline status and agent health.

OptionDescription
-c, --config <path>Path to colony.config.yaml
--checkValidate setup: check config, provider connectivity, and labels
--dbQuery Postgres directly for pipeline state (skips PID files and health endpoints)
--database-url <url>Database URL for --db mode; overrides DATABASE_URL and config
--pidUse local PID files and GitHub for status instead of the database (legacy local-dev path)
-w, --watchRe-poll and re-render DB status on an interval until Ctrl-C
--interval <seconds>Refresh interval in seconds for --watch (default: 10, minimum: 5)
--jsonMachine-readable JSON output — emits {repos, globalCost, configReloads} for DB mode; {mode:'pid', agents} for legacy PID mode; raw overview object for Cloud mode. Incompatible with --watch.

colony pause <issue-number> [options]

Pause processing of an issue without permanently blocking it.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
--jsonMachine-readable JSON output

colony resume <issue-number> [options]

Resume a paused issue (sprint master restores original state on next poll).

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
--jsonMachine-readable JSON output

colony unblock <issue-number> [options]

Clear a stuck is_blocked flag and re-queue the issue.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
--jsonMachine-readable JSON output

colony issue transition <issue-number> --state <target> [options]

Transition an issue to a new pipeline state.

OptionDescription
-s, --state <target>Target state (required)
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
--jsonMachine-readable JSON output

colony issue history <issue-number> [options]

Show structured lifecycle timeline for an issue (transitions, costs, telemetry, dead letters).

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
--jsonMachine-readable JSON output (one object)

colony plan import <path> [options]

File issues from a superpowers plan.

OptionDescription
--dry-runShow what would be created without filing
-r, --repo <owner/repo>Target repo (overrides config default)
-c, --config <path>Path to colony.config.yaml

See Plan Import Guide for the plan file format.


colony check [options]

Progressive validation: config, credentials, database, repository, labels, runtime.

OptionDescription
-c, --config <path>Path to colony.config.yaml
--stage <name>Run only the named stage (config, credentials, database, repository, labels, runtime)
--fixAuto-remediate common setup failures (exclusions, env vars, config placeholders)
--dockerForce container-aware checks (auto-detected from deployment.mode — only needed to override)

Aliases: colony doctor and colony preflight are aliases for specific stages of colony check:

  • colony doctor — delegates to colony check running the config, credentials, database, repository, and labels stages.
  • colony preflight — delegates to colony check --stage database + --stage runtime to validate end-to-end pipeline readiness (migrations, tables, intake mode, worker health).

Both aliases support the same -c/--config and --docker options. colony check is the recommended entry point; the aliases remain for backward compatibility.


colony doctor [options]

Validate Colony setup: config, provider access, API keys, CLI tools, and ports.

Alias: Delegates to colony check stages config, credentials, database, repository, and labels. Prefer colony check for new scripts.

OptionDescription
-c, --config <path>Path to colony.config.yaml
--dockerForce container-aware checks
--fixAuto-remediate common setup failures

colony preflight [options]

Validate end-to-end pipeline readiness: migrations, tables, intake mode, and worker health.

Alias: Delegates to colony check --stage database + --stage runtime. Prefer colony check for new scripts.

OptionDescription
-c, --config <path>Path to colony.config.yaml

colony validate-config [options]

Show effective resolved config and verify env vars and workspace directories are present.

OptionDescription
-c, --config <path>Path to colony.config.yaml
--jsonMachine-readable JSON output — emits the effective loaded config (with database.url password redacted) and skips the interactive check output. Use colony check --stage config if you want pass/fail validation results.

colony validate-issue [issue] [options]

Pre-flight check: validate issue structure and estimate cost.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
-f, --file <path>Validate a local markdown file as a draft issue

colony why <issue-number> [options]

Diagnose why an issue is stuck, blocked, or in an unexpected state.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
--jsonMachine-readable JSON output (one object)

colony inspect <issue-number> [options]

Show per-issue cost and timeline.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
-t, --tasksShow work_task history from Postgres
-f, --findingsShow polish/integration findings from Postgres
--jsonMachine-readable JSON output

colony logs [agent] [options]

Tail agent log files interleaved (like docker-compose logs -f).

OptionDescription
-c, --config <path>Path to colony.config.yaml
-n, --tail <lines>Number of lines to show from end of each log (default: 50)
-f, --followFollow log output (stream new lines as they are written)
-l, --level <level>Minimum log level to show (debug, info, warn, error, fatal)
-i, --issue <number>Filter log lines where the JSON issue field matches N
-g, --grep <pattern>Regex match against the msg field (plain text match for non-JSON lines)
-a, --agent <name>Filter by Pino name field (agent/process name in JSON)
-s, --since <duration>Show only lines within this window from now (e.g. 1h, 30m, 2d)
-j, --jsonMachine-readable NDJSON output (one JSON object per line)

colony events [options]

Query structured pipeline events.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Filter by repo
-i, --issue <number>Filter by issue number
-t, --type <event_type>Filter by event type
-s, --since <date>Filter events after date (YYYY-MM-DD)
--jsonMachine-readable NDJSON output (one JSON object per line)

colony tasks [options]

List work tasks from Postgres with optional filters.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Filter by repo
-s, --status <status>Filter by status (pending, claimed, complete, failed, cancelled)
-t, --type <type>Filter by task type (analyze, develop, review, merge, plan, sweep, review-external)
-i, --issue <number>Filter by issue number
--since <duration>Show tasks created after this duration ago (e.g. 24h, 7d, 30m)
--jsonMachine-readable NDJSON output (one JSON object per line)

colony workers [options]

List worker pool liveness: heartbeat freshness, current task, uptime.

OptionDescription
-c, --config <path>Path to colony.config.yaml
--jsonMachine-readable JSON output (one object)
colony workers reclaim <workerId> [options]

Force-reclaim the currently-claimed task for a worker.

OptionDescription
-c, --config <path>Path to colony.config.yaml
--jsonMachine-readable JSON output (one object)

colony issues [options]

List pipeline issues from Postgres grouped by state.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-s, --state <state>Filter to a specific pipeline state
--blockedShow only blocked issues with last error
--pausedShow only paused issues
--label-driftShow issues where Postgres state and stored labels have diverged
-r, --repo <owner/repo>Filter by repo
--errorsShow recent agent run failures across all issues
--since <hours>Hours to look back for --errors (default: 24)
--jsonMachine-readable NDJSON output (one JSON object per line)

colony dead-letters [options]

List and manage dead letter transitions (failed state transitions that could not be retried automatically).

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Filter by repo
--jsonMachine-readable NDJSON output (one JSON object per line)
colony dead-letters list [options]

List unresolved dead letter transitions.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Filter by repo
--jsonMachine-readable NDJSON output (one JSON object per line)
colony dead-letters retry <id> [options]

Retry a specific dead letter transition (re-enqueue the task).

OptionDescription
-c, --config <path>Path to colony.config.yaml
colony dead-letters resolve <id> [options]

Resolve (acknowledge) a single dead letter transition without retrying it.

OptionDescription
-c, --config <path>Path to colony.config.yaml
colony dead-letters resolve-all [options]

Resolve all dead letter transitions (mark as acknowledged).

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Filter by repo

colony metrics [options]

Show pipeline metrics: throughput, cycle times, success rates, and bottlenecks.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-d, --days <number>Lookback window in days (default: 30)
--jsonMachine-readable JSON output — emits { repos: [{ repo: "owner/repo", metrics: { ... } }] }

colony digest [options]

Generate pipeline daily digest on-demand.

OptionDescription
-c, --config <path>Path to colony.config.yaml
--jsonMachine-readable JSON output (one object)

colony strategy charter set --repo <owner/repo> --from <file> [options]

Create a new charter version from a YAML or JSON file.

The charter file must be a YAML or JSON object with a goals string and an envelope object containing max_auto_size (small|medium|large|epic), prefer (string array), avoid (string array), and escalate_when (string array).

OptionDescription
-r, --repo <owner/repo>Target repo (owner/repo) (required)
-f, --from <file>Path to charter YAML/JSON file (required)
--author <name>Author recorded on the charter (default: operator)
-c, --config <path>Path to colony.config.yaml

colony strategy charter show --repo <owner/repo> [options]

Print the active charter for a repo.

OptionDescription
-r, --repo <owner/repo>Target repo (owner/repo) (required)
-c, --config <path>Path to colony.config.yaml

colony strategize --repo <owner/repo> [options]

Run one strategize cycle on demand and print the proposed snapshot version.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target repo (owner/repo) (required)

colony tracks <subcommand> [options]

Manage self-improvement tracks and prompts.

Deprecated: The CLI tracks command manages file-backed tracks. Use the dashboard UI at /tracks for Postgres-backed track management.

colony tracks list [options]

List all tracks.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
-a, --allShow tracks for all repos
colony tracks add <name> --label <label> --cooldown <minutes> [options]

Create a new track.

OptionDescription
-l, --label <label>GitHub label to apply to seeded issues (required)
--cooldown <minutes>Cooldown between seeds in minutes (required)
--prompt-file <path>Path to initial prompt file (v1)
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
colony tracks remove <name> [options]

Remove a track.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
colony tracks enable <name> [options]

Enable a track.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
colony tracks disable <name> [options]

Disable a track.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
colony tracks set <name> [options]

Update track metadata.

OptionDescription
--cooldown <minutes>Cooldown between seeds in minutes
--label <label>Track label (e.g. colony:si-code-quality)
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo
colony tracks prompt <name> [options]

View or manage prompt versions.

OptionDescription
--historyList all prompt versions
--newCreate a new prompt version from stdin or --file
--notes <text>Notes for the new version
--file <path>Read prompt content from file (with --new)
--activate <version>Set active prompt version
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Target a specific repo

colony safestop [options]

Gracefully drain and stop all agents (waits for active polls to finish).

OptionDescription
-c, --config <path>Path to colony.config.yaml
--timeout <minutes>Maximum minutes to wait before giving up (default: 15)
--forceSend SIGKILL to agents that survive SIGTERM (default: leave sentinel and exit)

colony migrate apply [options]

Apply pending pipeline-store migrations against the configured database.

OptionDescription
-c, --config <path>Path to colony.config.yaml
--dry-runList pending migrations without applying them

colony repos enable <owner/repo> [options]

Activate a repo in the pipeline (creates if not present).

OptionDescription
-c, --config <path>Path to colony.config.yaml

colony repos disable <owner/repo> [options]

Deactivate a repo in the pipeline.

OptionDescription
-c, --config <path>Path to colony.config.yaml

colony mcp [options]

Start the Colony MCP server for editor integration (Claude Code, Cursor, etc.).

Reads DATABASE_URL and GITHUB_TOKEN from the environment (or Colony config) and launches the MCP stdio server. Configure your editor to run this command as the MCP server process.

OptionDescription
-c, --config <path>Path to colony.config.yaml

See MCP Server for editor configuration examples, environment variables, and the full tool reference.


colony code-map scan [options]

Scan configured repo(s) and populate the code map (repo_code_entities/relationships).

OptionDescription
-c, --config <path>Path to colony.config.yaml
-r, --repo <owner/repo>Scan only this repo (defaults to all configured repos)

colony config migrate [options]

Migrate old-format config (agents.* executor settings) to new format (executors.* + workers).

Moves executor-specific keys (effort, model, etc.) from agents.* to executors.*, and adds a workers block to repos that don’t have one.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-o, --output <path>Write migrated config to file instead of stdout
--dry-runShow what would change without writing
--memory <size>Default memory per worker container (default: 4g)

colony auth login [options]

Log in with a Colony Cloud API token.

OptionDescription
--token <token>API token (else COLONY_CLOUD_TOKEN or interactive prompt)
--cloud-url <url>Colony Cloud base URL
--repo <owner/name>Default repo when the org has more than one

colony auth status

Show the authenticated Cloud identity.


colony auth logout

Remove cached Cloud credentials.


colony workflow validate <file>

Parse and validate a workflow YAML file.

Prints OK: <id> v<version> on success, or a parse error and exits with code 2 on failure.


colony workflow show [options]

Print a workflow definition as YAML.

OptionDescription
--builtin <id>Print a built-in workflow by ID (e.g. colony-default, colony-content)
--workflow-id <id>Workflow id to read from the registry
--version <n>Version to read
--tenant-id <n>Tenant id (for registry reads)
--database-url <url>Postgres URL (default: $DATABASE_URL)

Either --builtin or all of --workflow-id, --version, --tenant-id are required.

See Workflows Guide for the workflow YAML schema.


colony estimate [options]

Estimate monthly Anthropic API cost based on config.

OptionDescription
-c, --config <path>Path to colony.config.yaml
-t, --throughput <issues-per-day>Expected issues per day (default: 5)
-m, --mix <small/medium/large>Complexity mix percentages (default: 60/30/10)
--no-calibratedUse static default assumptions instead of calibrated data from repo history
--jsonMachine-readable JSON output

colony canary run <id> [options]

Run a canary evaluation end-to-end through the Colony pipeline. Provisions an ephemeral target repo, stands up an isolated cluster (postgres + sprint-master + worker) via docker-compose.canary.yml, monitors the issue until it reaches a terminal state or a guardrail fires, captures a JSON run record, and tears the cluster down.

Prints a preflight summary (repo name, cluster, cost ceiling, timeout, retention) and prompts for confirmation before proceeding. Use --yes to skip the prompt for scripting.

OptionDescription
--org <org>GitHub org to provision canary repos in (default: colony-canary)
--cost-ceiling <usd>Override the per-tier cost ceiling in USD
--timeout <minutes>Override the per-tier wall-clock timeout in minutes
-y, --yesSkip confirmation prompt (for scripting)

colony version

Show Colony version, Node.js version, and dependency versions.