Global Config Reference
Global configuration lives at ~/.no-mistakes/config.yaml. Set NM_HOME to relocate the config directory.
agent: auto
agent_path_override: claude: /Users/you/bin/claude codex: /opt/homebrew/bin/codex rovodev: /usr/local/bin/acli opencode: /usr/local/bin/opencode
agent_args_override: codex: - -m - gpt-5.4 - --full-auto
ci_timeout: "4h"
log_level: info
auto_fix: rebase: 3 review: 0 test: 3 document: 3 lint: 3 ci: 3Fields
agent
Default agent for all repos and setup-wizard suggestions. Can be overridden per-repo.
| Type | string |
| Values | auto, claude, codex, rovodev, opencode |
| Default | auto |
auto resolves to the first supported agent found on PATH in this order: claude, codex, opencode, then acli with rovodev support.
agent_path_override
Custom binary paths for each agent. When set, no-mistakes uses this path instead of looking up the binary on PATH.
| Type | map[string]string |
| Default | Empty (uses default binary names) |
Default binary names when no override is set:
| Agent | Binary |
|---|---|
claude | claude |
codex | codex |
rovodev | acli |
opencode | opencode |
agent_args_override
Extra CLI flags to pass to each agent. Use this to set model selection, reasoning effort, permission mode, or any other flag the underlying agent supports.
| Type | map[string][]string |
| Keys | claude, codex, rovodev, opencode |
| Default | Empty (no extra flags) |
User-supplied flags are inserted ahead of no-mistakes’ managed flags, so your choices take precedence. A few flags are reserved because no-mistakes depends on them to communicate with the agent - setting any of these returns a config error on load:
| Agent | Reserved flags |
|---|---|
claude | -p, --print, --verbose, --output-format, --json-schema |
codex | exec, --json, --color |
rovodev | rovodev, serve, --disable-session-token |
opencode | serve, --hostname, --port, --print-logs |
Smart defaults:
- For
claude, supplying--permission-mode(or--dangerously-skip-permissions) suppresses the default--dangerously-skip-permissions. - For
codex, supplying--ask-for-approval,--sandbox, or--dangerously-bypass-approvals-and-sandboxsuppresses the default--dangerously-bypass-approvals-and-sandbox.
Example:
agent_args_override: claude: - --model - sonnet - --permission-mode - acceptEdits codex: - -m - gpt-5.4 - --full-auto rovodev: - --profile - work opencode: - --model - gpt-5ci_timeout
How long the CI step waits for provider CI status, and on GitHub or GitLab for PR mergeability, before timing out.
| Type | string (Go duration) |
| Default | 4h |
Accepts any Go time.ParseDuration string: 30m, 2h, 4h30m, etc.
Legacy alias: babysit_timeout.
log_level
Daemon log verbosity.
| Type | string |
| Values | debug, info, warn, error |
| Default | info |
auto_fix
Maximum auto-fix attempts per step. Set a step to 0 to disable auto-fix (findings always require manual approval).
| Type | object |
| Field | Type | Default | Description |
|---|---|---|---|
auto_fix.rebase | int | 3 | Rebase conflict auto-fix attempts |
auto_fix.review | int | 0 | Review finding auto-fix attempts |
auto_fix.test | int | 3 | Test failure auto-fix attempts |
auto_fix.document | int | 3 | Documentation update auto-fix attempts |
auto_fix.lint | int | 3 | Lint issue auto-fix attempts |
auto_fix.ci | int | 3 | CI auto-fix attempts for CI failures, plus GitHub and GitLab merge conflicts |
Legacy alias: auto_fix.babysit.
These are global defaults. Per-repo config can override individual steps.
Environment variables
See Environment Variables for NM_HOME, Bitbucket Cloud credentials, and update-check suppression.