Skip to main content
Helix reads a single YAML file. init writes it with sensible defaults; this page documents every block, so you can tune providers, models, trace sources, apply targets, and per-stage behaviour.

Location

Config is project-local by default. Install with --global and it lives in your home directory (~/.mutagent/config.yaml) instead, shared across projects.

Full example

.mutagent/config.yaml

config_version

The schema version of the file — currently 0.3.0. mutagent install helix writes it; leave it unless you’re migrating an older config (earlier 0.1.0 / 0.2.0 files are rejected until upgraded).

global.providers

The LLM providers Helix is allowed to call. Each entry names a provider and points at an environment variable for its credential. Add one from the CLI instead of editing by hand:

global.workspace

The repository and subdirectory Helix operates on.

global.models

global.sources

Where your traces come from. A single entry auto-binds by role to Evaluate and Diagnose; with several sources you can bind them explicitly. See Traces for what each source provides.

global.targets

Where approved fixes are written — a list; add several and bind them per stage. Omit the block entirely and every stage stays report-only (Helix proposes changes but never writes them). When you do add a target, it must declare how it applies via apply.kind. Targets come in two kinds:
  • Harness markdown agents — agents defined as markdown in a coding-agent harness: Claude Code, Codex, OpenCode, Pi, Oh My Pi, Hermes. A fix edits the agent’s markdown files.
  • Code-based agents — agents defined in code: Mastra, Claude Agent SDK, DeepAgents, Pydantic AI. A fix is a code change.
Either way, a fix lands via GitHub — Helix opens a pull request on the target repo; nothing is written in place.
Pi, Oh My Pi, and Hermes (harnesses) and DeepAgents and Pydantic AI (frameworks) are part of the target model but don’t have a dedicated platform value in config v0.3.0 yet.

lifecycle

Per-skill overrides, keyed by skill name (diagnostics, evaluator, …).

triggers

Automatic runs, keyed by stage. Shipped disabled — Helix is on-demand; nothing fires on its own unless you enable it here.

Secrets

Secrets never go in config.yaml. credentials_ref / credential_ref are the names of environment variables; Helix reads the values from your environment at runtime. The file is safe to commit.

Inspecting your config

Helix validates the config when it boots and reports the resolved providers, sources, and targets in the dashboard. On the Standalone binary, print the resolved config with: