Overview
Ingrain is configured through conf.toml files. The CLI reads each location
below and deep-merges them in order — later entries override earlier ones:
- User config (lowest priority). Path resolves per platform:
- Linux / macOS:
$XDG_CONFIG_HOME/ingrain/conf.tomlifXDG_CONFIG_HOMEis set, otherwise$HOME/.ingrain/conf.toml. - Windows:
%APPDATA%\ingrain\conf.toml.
- Linux / macOS:
- Project walk. Inside a git repo, the CLI walks from your current
directory up to the repo root and picks up every
.ingrain/conf.tomlalong the way, ordered from repo root → CWD (closer-to-CWD wins). Outside a git repo, only<cwd>/.ingrain/conf.tomlis consulted.
On top of that:
- Environment variables —
INGRAIN_INSTALL_TOKENandINGRAIN_PROXY_URLoverride the matching[upgrade]keys at runtime. - CLI flags —
--review-fileand--auto-close-sessionoverride the matching[cli]values for a single run.
Sections
Section titled “Sections”| Section | What it configures |
|---|---|
[cli] | Where to save reviews, auto-close behaviour. |
[upgrade] | The proxy URL ingrain upgrade pulls from. |
[hook] | Which terminal Ingrain spawns when a harness fires the hook. |
[agent.model] | LLM provider and model name. |
[agent.apiKeys] | Your provider API keys. |
Starting from the annotated reference
Section titled “Starting from the annotated reference”ingrain config opens your conf.toml in the default editor, seeding it
with the full annotated reference on first run:
ingrain config