This page is the flat reference for every colony.config.yaml field. For a narrative guide that explains when and why to use each section, see Self-Host — Configuration.
Prefix for pipeline state labels (e.g. colony:analyzing, colony:ready-for-dev). Change to run multiple Colony instances against the same repo with distinct namespaces
Connection settings for the Postgres pipeline store. Optional in config — if omitted, Colony reads DATABASE_URL from the environment. A Postgres connection is always required at runtime.
Field
Type
Default
Description
url_env
string
'DATABASE_URL'
Name of the environment variable containing the Postgres connection string
max_connections
number
10
Maximum connections in the pg connection pool
idle_timeout
number
10000
idleTimeoutMillis for the pg pool (milliseconds)
ssl
boolean
false
Enable SSL for Postgres connections. Required for most cloud-hosted Postgres instances
Top-level scalar. Caps aggregate spend across all issues and repos for the current UTC day.
Field
Type
Default
Description
max_daily_usd
number | null
50
Maximum USD per UTC day. Set to null to disable the ceiling entirely
max_daily_usd is an enforced runtime ceiling. It differs from cost_budget.monthly_usd (tenant-level monthly enforcement) and budget_cap_usd (per-repo reporting target only). See Cost & Budget concepts — the three budget controls.
Controls automatic promotion of repo intelligence candidates. When auto-promote is enabled, Colony promotes high-confidence patterns to approved status without manual review, reducing curation overhead for large repos.
When true, Colony automatically promotes intelligence candidates that meet the confidence and observation thresholds
confidence_threshold
number (0–1)
0.8
Minimum confidence score a candidate must reach before auto-promotion. Raise to require stronger evidence; lower to promote sooner
min_observation_count
positive integer
2
Minimum number of observations required before a candidate is eligible for auto-promotion. Raise for repos with high issue volume; lower for repos where patterns accumulate slowly
Controls Claude CLI invocation behavior and model selection for all agents.
Field
Type
Default
Description
timeout
number
1800
Overall Claude CLI invocation timeout in seconds
max_retries
number
1
Number of times to retry a failed Claude invocation
inactivity_timeout
number
300
Seconds without output before the process is killed with SIGKILL
max_cost_per_issue
number
—
USD cost cap per issue. When reached, the issue moves to failure-blocked. Omit for no limit
binary_path
string
'claude'
Path to the Claude CLI binary
provider
'anthropic' | 'foundry' | 'gateway'
'anthropic'
API provider. Use 'foundry' to route through Azure Foundry, or 'gateway' to route through any Anthropic-compatible AI gateway (e.g. TrueFoundry, LiteLLM)
Controls automatic model selection per task type and complexity tier. This is the primary lever for reducing cost on simple issues without sacrificing quality on complex ones.
Field
Type
Default
Description
enabled
boolean
false
Master switch. When false, routes are ignored and resolution falls back to claude.models.*
override
string
—
Global force-model. When set, forces this model for every task regardless of task type, tier, or enabled. Use as a kill-switch to pin all agents to one model temporarily
For the developer agent only, claude.scaling[tier].model is a separate per-tier override that sits between routes.develop[tier] and claude.models.developer in the resolution order:
Routing selects the model; claude.scaling controls per-tier turn budgets independently. The two settings do not conflict — you can set both and they apply to separate dimensions of the invocation.
Used by review.external_prs. Controls how Colony handles PRs not part of its own pipeline.
Field
Type
Default
Description
mode
'off' | 'on_request' | 'on_ready' | 'auto'
'off'
When to review external PRs. off — disabled. on_request — only when a human comments /colony:review. on_ready — automatically when a PR is opened or transitions from draft to ready. auto — same as on_ready, with auto_approve flag available
author_filter
string[]
['*']
Allowlist of GitHub usernames to review. ['*'] means any author
label_filter
string[]
[]
Require all listed labels to be present on the PR before reviewing
exclude_bots
boolean
true
Skip PRs authored by bot accounts
exclude_drafts
boolean
true
Skip draft PRs
auto_approve
boolean
false
Reserved for future use — only valid with mode: auto
Each of the five executor roles can be independently routed to a different execution engine. This is separate from executors.* (which holds executor-specific tuning like forbidden_paths); agents.<role>.engine controls which CLI runtime is invoked.
Field
Type
Default
Description
agents.analyzer.engine
'claude-code' | 'codex'
'claude-code'
Execution engine for the analyzer role
agents.developer.engine
'claude-code' | 'codex'
'claude-code'
Execution engine for the developer role
agents.reviewer.engine
'claude-code' | 'codex'
'claude-code'
Execution engine for the reviewer role
agents.merger.engine
'claude-code' | 'codex'
'claude-code'
Execution engine for the merger role
agents.planner.engine
'claude-code' | 'codex'
'claude-code'
Execution engine for the planner role
When a role is set to 'codex', the Worker invokes the OpenAI Codex CLI instead of the Claude Code CLI. The codex top-level section (see ## codex) configures the Codex CLI path, timeouts, and per-role model IDs. claude.models.* and claude.scaling do not apply to Codex-engine roles; use codex.models.* for model selection when Codex is active.
Engine selection is read by the Worker on startup and is not hot-reloadable — a Worker redeploy is required after changing any agents.<role>.engine value.
forbidden_paths and read_only_paths restrict which files the developer agent may access or modify. Paths are repo-relative and use minimatch glob syntax with { dot: true }.
forbidden_paths — the agent cannot read or write these paths. Use for secrets and credentials (e.g. .env*, secrets/**).
read_only_paths — the agent can read but not write these paths. Use for IaC, migrations, and CI workflows (e.g. infrastructure/**, .github/workflows/**).
Executor-specific settings distinct from agent process infrastructure (poll_interval, health_port). If not set, values are auto-populated from the corresponding agents.* fields for backward compatibility.
Used by codex.models. Values must be valid OpenAI or Codex model IDs (e.g. codex-1, o4-mini, gpt-4o). Omitting a role passes no --model flag to the Codex CLI, using its built-in default.
Field
Type
Description
developer
string
Model for the developer agent when running on Codex
reviewer
string
Model for the reviewer agent when running on Codex
analyzer
string
Model for the analyzer agent when running on Codex
For networks that perform TLS interception, mount PEM-format root CA certificates under /colony/keys/ca-certs/. The entrypoint propagates trust to the system trust store, Node.js (NODE_EXTRA_CA_CERTS), dotnet, and standard CLI tools before starting any agent.
Per-repo reporting budget cap in USD. Summed across repos to produce the aggregate monthly limit used for burn-rate and projected-exhaustion reporting. This is a reporting target, not a runtime enforcement gate — see Cost & Budget concepts — the three budget controls.
Migration: Manage tracks via the Colony Cloud dashboard or the monitor REST API (POST /api/si/tracks). YAML track definitions in the config file are ignored.