Agents Supported by no-mistakes and How to Configure Custom Agent Paths
no-mistakes supports seven built-in agents (auto, claude, codex, rovodev, opencode, pi, copilot) plus custom ACP targets, with binary paths configurable via agent_path_override in ~/.no-mistakes/config.yaml.
The no-mistakes CLI tool from the kunchenguid/no-mistakes repository provides a unified interface for multiple AI coding agents. Understanding which agents are supported by no-mistakes and how to configure custom agent paths is essential for teams using non-standard installations or custom agent builds.
Agents Supported by no-mistakes
The supported agent identifiers are defined as constants in internal/types/types.go (lines 35-43). These constants represent the native AI integrations available to the tool.
Built-in Agent Identifiers
According to the source code, the AgentName constants include:
- auto – Automatically selects the first native agent detected on the system PATH
- claude – Anthropic Claude
- codex – OpenAI Codex
- rovodev – Rovo Dev
- opencode – OpenCode
- pi – Pi
- copilot – GitHub Copilot
When agent: auto is specified in the configuration, the tool iterates through these agents in a predefined order, selecting the first executable found on the system.
Custom ACP Targets
Beyond the built-in agents, no-mistakes supports custom ACP (Agent Communication Protocol) targets using the acp:<target> syntax. These require additional configuration in the acp_registry_overrides map to define how the external agent is launched.
How to Configure Custom Agent Paths
The global configuration file ~/.no-mistakes/config.yaml controls agent selection and path overrides. The relevant configuration structures are defined in internal/config/config.go (lines 41-46), which contains the AgentPathOverride and AgentArgsOverride maps within the GlobalConfig struct.
Overriding Binary Locations
To replace the automatically detected executable with a custom binary, use the agent_path_override map. The Config.AgentPath() method (implemented in internal/config/config.go, lines 180-200) checks this map at runtime; if a key matches the selected agent, that value is returned instead of the PATH-discovered executable.
# ~/.no-mistakes/config.yaml
agent: claude
agent_path_override:
claude: /opt/custom/claude
opencode: /usr/local/bin/opencode-dev
If the selected agent is not present in agent_path_override, the tool falls back to its built-in discovery logic.
Custom CLI Arguments
Supply additional flags to specific agent binaries using agent_args_override:
agent_args_override:
claude: ["--model", "claude-2.1"]
codex: ["--temperature", "0.1"]
These arguments are appended to the binary invocation when spawning the agent process.
ACP Registry Overrides
For custom ACP targets, configure explicit commands via the acp_registry_overrides map (defined in internal/config/config.go, lines 44-45):
agent: acp:gemini
acp_registry_overrides:
gemini: node /usr/local/bin/gemini-acp.js
This maps the ACP target identifier to the specific command string required for execution, including interpreters if necessary.
Programmatic Configuration Access
When consuming the configuration programmatically in Go, the resolution logic follows the same hierarchy:
cfg, _ := config.LoadGlobalConfig()
agent := cfg.Agent // e.g., "claude"
bin, err := cfg.AgentPath() // returns custom path if set
args := cfg.AgentArgsOverride[agent] // []string{"--model","claude-2.1"}
The AgentPath() function resolves the final executable path by first checking AgentPathOverride, then falling back to PATH discovery.
Summary
- Seven built-in agents are supported:
auto,claude,codex,rovodev,opencode,pi, andcopilot - Agent identifiers are defined as constants in
internal/types/types.go(lines 35-43) - Custom binary paths are configured via
agent_path_overridein~/.no-mistakes/config.yaml - The
Config.AgentPath()method ininternal/config/config.go(lines 180-200) resolves custom paths at runtime - Additional CLI arguments can be specified through
agent_args_override - Custom ACP targets require
acp_registry_overridesfor command mapping
Frequently Asked Questions
What agents are supported by no-mistakes?
no-mistakes supports seven built-in agent identifiers defined in internal/types/types.go: auto, claude, codex, rovodev, opencode, pi, and copilot. Additionally, you can configure custom ACP targets using the acp:<target> syntax, which requires explicit command mapping in the configuration.
How do I configure custom agent paths in no-mistakes?
Add an agent_path_override map to your ~/.no-mistakes/config.yaml file. Specify the agent name as the key and the absolute path to the binary as the value. The Config.AgentPath() function in internal/config/config.go checks this map before falling back to the default PATH discovery logic.
Can I pass custom arguments to agent binaries?
Yes. Use the agent_args_override configuration key to provide a list of additional command-line arguments for specific agents. These arguments are passed to the binary when the agent process is spawned, allowing you to set models, temperatures, or other agent-specific flags.
How do I configure custom ACP targets?
Define the acp_registry_overrides map in your configuration file. Map the target identifier (the part after acp:) to the full command string required to launch that agent. This command can include the interpreter path, such as node /path/to/script.js or /usr/local/bin/custom-agent.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →