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, and copilot
  • Agent identifiers are defined as constants in internal/types/types.go (lines 35-43)
  • Custom binary paths are configured via agent_path_override in ~/.no-mistakes/config.yaml
  • The Config.AgentPath() method in internal/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_overrides for 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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →