acpx ships with a registry of friendly agent names. Each one resolves to a specific ACP adapter command. On Unix, unknown names fall through as raw commands, and --agent <command> supports custom launchers. On Windows, configure a named agent with structured argv instead (see Custom agents).
The default agent for top-level commands like acpx exec … and acpx prompt … is codex.
#Built-in registry
These 30 launch profiles identify supported ACP entry points. Follow each agent guide for installation, authentication, and capability limits. Ante is experimental and cannot reopen sessions after disconnect.
| Agent | Profile | Adapter command | |
|---|---|---|---|
![]() | Pi | pi | npx --package=pi-acp -- pi-acp |
![]() | OpenClaw | openclaw | openclaw acp |
![]() | Codex | codex | npx -y --package=@agentclientprotocol/codex-acp -- codex-acp |
![]() | Claude Code | claude | npx -y --package=@agentclientprotocol/claude-agent-acp -- claude-agent-acp |
![]() | Gemini CLI | gemini | gemini --acp |
![]() | Cursor | cursor | cursor-agent acp |
![]() | GitHub Copilot | copilot | copilot --acp --stdio |
![]() | Ante | ante | ante acp (experimental) |
![]() | Antigravity | antigravity | agy_acp_server.par (platform arguments) |
![]() | DeepSeek Harness | deepseek-harness | dsh --profile acp |
![]() | Devin | devin | devin acp |
![]() | Factory Droid | droid | droid exec --output-format acp |
![]() | fast-agent | fast-agent | uvx fast-agent-mcp acp |
![]() | fx | fx | fx acp |
![]() | Grok Build | grok-build | grok agent stdio |
![]() | Goose | goose | goose acp |
![]() | iFlow | iflow | iflow --experimental-acp |
![]() | Junie | junie | junie --acp=true |
![]() | Kilocode | kilocode | npx -y --package=@kilocode/cli -- kilo acp |
![]() | Kimi | kimi | kimi acp |
![]() | Kiro | kiro | kiro-cli-chat acp |
![]() | MCode | mcode | mcode acp |
![]() | Mux | mux | npx -y --package=mux -- mux acp via an ACPX-owned npm range |
![]() | Octomind | octomind | octomind acp developer:general |
![]() | OpenCode | opencode | npx -y --package=opencode-ai -- opencode acp |
![]() | Poolside | pool | pool acp |
![]() | Qoder | qoder | qodercli --acp |
![]() | Qwen Code | qwen | qwen --acp |
![]() | Trae | trae | traecli acp serve |
![]() | ZeroClaw | zeroclaw | zeroclaw acp |
factory-droid and factorydroid also resolve to the built-in droid adapter.
#Common shape
Built-in profiles share this command surface. Available operations depend on the capabilities advertised by the adapter:
acpx <agent> [prompt_text...] # implicit prompt
acpx <agent> prompt [prompt_text...] # explicit prompt
acpx <agent> exec [prompt_text...] # one-shot, no saved session
acpx <agent> cancel [-s <name>] # cooperative session/cancel
acpx <agent> set-mode <mode> [-s <name>] # session/set_mode
acpx <agent> set <key> <value> [-s <name>] # session/set_config_option
acpx <agent> status [-s <name>]
acpx <agent> sessions [list | new | ensure | close | show | history | prune]
See Prompting, Sessions, and Session control for the cross-agent semantics.
#Per-agent notes
Notes that override or extend the cross-agent behavior live below.
#Pi
- Built-in name:
pi - Default command:
npx --package=pi-acp -- pi-acp - Upstream: mariozechner/pi
#OpenClaw
- Built-in name:
openclaw - Default command:
openclaw acp - Upstream: openclaw/openclaw
- Guide: OpenClaw
For source builds, see the OpenClaw checkout override.
#Codex
- Built-in name:
codex - Default command:
npx -y --package=@agentclientprotocol/codex-acp -- codex-acp - Upstream: agentclientprotocol/codex-acp
- Runtime controls exposed by current
codex-acpreleases: ACP modes and session config options, including the advertised model selector. acpx --model <id> codex …andacpx codex set model <id>apply the requested model through the advertised ACP config option. Legacy adapters that advertisemodelsusesession/set_model.
#Claude
- Built-in name:
claude - Default command:
npx -y --package=@agentclientprotocol/claude-agent-acp -- claude-agent-acp - Upstream: agentclientprotocol/claude-agent-acp
- The built-in package range is pinned by acpx so fresh installs pick up Claude model and ACP adapter fixes without depending on a globally installed adapter binary.
- On Windows,
acpxresolves theclaude.exeexecutable fromPATHbefore spawning so launches do not depend on shell-specific command lookup. --system-promptand--append-system-promptforward through ACP_meta.systemPromptonsession/new, letting you replace or append to the Claude Code system prompt without leaving a persistent session. The value persists insession_options.system_promptso ensure/reuse keeps the override. Other agents ignore the field.
#Other built-in agents
Setup, authentication, launch overrides, and capability notes live in the agent guides.
#Overriding a built-in
Any built-in can be replaced wholesale through config, including args for adapter sub-commands:
{
"agents": {
"codex": {
"command": "/usr/local/bin/codex-acp",
"args": ["--profile", "ci"]
}
}
}
CLI flags still win over config. See Config for precedence rules.
#See also
- Custom agents —
--agent <command>and unknown positional names. - Sessions — how the agent command becomes part of the session scope key.
- Authentication —
ACPX_AUTH_*env vars and configauthentries for ACPauthenticatehandshakes.





























