Skip to content

Configuration

Settings live in the database config table and are edited from the Config surface in the TUI or GUI, or with PATCH /api/config. Secrets are separate: credentials are stored encrypted (see Credentials).

KeyPurpose
github_repoowner/name the agent manages.
pickup_labelsComma-separated labels an issue must carry to be picked up. Empty means every issue.
pr_merge_methodPreferred gh pr merge method: squash (default) or rebase.
GitHub App settingsApp id / installation when authenticating as a bot (see the GitHub App guide).

steelframe:needs_human always skips pickup, even when a pickup label is also present: a parked task stays parked until a human responds.

KeyValuesDefault
coding_runtimeclaude, grok, codex, opencode, pi (plus aliases)claude
coding_runtime_binaryPath or name of the CLI binarythe runtime’s default on PATH
coding_runtime_contextAdvertised context tokens (OpenCode compaction, Pi contextWindow)65536
coding_runtime_outputAdvertised max output tokens (OpenCode, Pi maxTokens)16384

Workers and one-shot decisions use the selected runtime only; workflows never hardcode a single vendor CLI. Workers set XDG_CONFIG_HOME to their sandbox so a user-level opencode.json cannot override these limits.

KeyValuesPurpose
delivery_profilelive (default) or sourceRun the staging/production path, or merge when green.
external_urlURLBase URL used in links the agent writes.
KeyDefaultEffect
dispatch_min_available_mb1024Do not spawn a worker below this MemAvailable. 0 disables.
max_compile_slots1Flock around cargo/cargo-clippy. 0 disables.
worker_memory_maxautoPer-worker cgroup cap: auto, an explicit size like 8G, or off.
auto_update_minutes5Release-channel poll interval. 0 disables.
update_channelstablestable reads latest.json; beta opts into prereleases from beta.json. STEELFRAME_UPDATE_CHANNEL overrides the config.

System units that use worker_memory_max need Delegate=yes; a user unit must leave its service cgroup before memory limits can be attached.

Singleton workflows run on intervals (for example harness_converge_minutes, default 15). Each interval is a config key; inspect the Config surface for the current set.

Some settings are environment, not config: bind address/port, database URL, and the master key. See Install and Auth.