Skip to content
Configuration

Configuration

config.json lives in ~/.anneal (or ANNEAL_HOME). The Settings view edits it with live changes; Edit JSON opens the raw file.

Top-level keys

KeyWhat it controls
serverThe model endpoint, model name, context window, timeouts.
providerHealth checks and fallbacks.
agentTools, turn budget, compaction, subagents.
permissionAllow/ask/deny rules, the read-only bash allowlist, saved grants.
uiTheme, text scale, layout, pane sizes.
memoryCaps, duplicate guard, injection scan.
skillsSkill directories and authoring.
reviewIdle review, lesson caps, model.
tieThe session index: file/URL, collection, offline behaviour.
mcpstdio and HTTP servers.
harnessComponents, guardrails, the improvement library.
improvek-step recursion, timeouts, the promotion policy.
scriptThe Risor tool’s sandbox roots.
compactionThe threshold (82%) and the summary prompt.

Environment

VariableEffect
ANNEAL_HOMEThe state directory.
ANNEAL_THEMElight or dark.
ANNEAL_UI_DIRA directory of scripted panes for tests.
ANNEAL_MODEL / provider varsOverride the model endpoint.

Example

{
  "server": {
    "url": "http://127.0.0.1:8081/v1/chat/completions",
    "model": "qwen3-coder-30b-a3b",
    "context_window": 262144
  },
  "ui": { "theme": "dark", "text_scale": 1.0 },
  "permission": {
    "bash": { "allow": ["git status", "go test ./...", "ls"] }
  },
  "tie": { "enabled": true, "collection": "anneal" },
  "improve": { "k": 2, "mode": "sequential", "promote": "manual" }
}

The full reference, with every field and default, is docs/CONFIG.md.