ACP-Compatible CLIs
Connect and run third-party agent CLIs through the Agent Client Protocol (ACP) standard.
Mopheus natively supports communicating with third-party agent CLIs through the Agent Client Protocol (ACP). ACP is an open, bidirectional JSON-RPC 2.0 protocol standard that decouples workspace orchestration from specific agent runtimes.
Through ACP, Mopheus standardizes prompt dispatching, tool-call tracking, execution results, workspace state synchronization, and next-turn interactive steering across diverse agent tools.
Protocol Capabilities Matrix
| Dimension | Specification |
|---|---|
| Protocol | ACP (JSON-RPC 2.0 via stdin/stdout) |
| Session lifecycle | Supports session/new, session/prompt, session/cancel |
| Interaction delivery | Next-turn delivery |
| Workspace state | Automatic synchronization of workspace roots and context |
| Unattended permissions | Configurable permission auto-approval (e.g. bypassPermissions) |
| Filesystem sandbox | Supported on Linux (same as native providers) |
Verified and Supported ACP CLIs
1. Hermes (Built-in Default)
Hermes is the default built-in ACP provider in Mopheus.
| Field | Value |
|---|---|
| Binary | hermes |
| Path override | MOPHEUS_HERMES_PATH |
| Verify | hermes --version |
| Task skill path | .hermes/skills/ |
Installation: Install hermes on the daemon host and ensure it is in $PATH; the daemon discovers it automatically upon start.
2. Kiro CLI
Kiro CLI provides full ACP support. Mopheus includes a dedicated workspace state adapter (WorkspaceStateCapable) that injects workspace boundaries upon session initialization.
- Command:
kiro-cli - Environment variable:
MOPHEUS_KIRO_PATH - Skill path:
.kiro/skills/
3. Qoder CLI
Qoder CLI supports ACP mode via the --acp argument and integrates with Mopheus unattended session policies.
- Command:
qodercli - Typical ACP launch args:
--acp-args=--acp,--permission-mode,bypass_permissions - Workspace isolation: Uses
.qoder/as home and workdir subdirectories.
4. OpenCode / MimoCode (ACP Modes)
In addition to their native line protocols, Mopheus includes built-in registrations for their ACP variants:
- OpenCode ACP: Registered as
opencode-acp, executingopencode acp. - MimoCode ACP: Registered as
mimocode-acp, executingmimocode acp.
5. Qwen Code
Qwen Code is available as the built-in qwen ACP provider.
- Command:
qwen - Path override:
MOPHEUS_QWENCODE_PATH - ACP mode: Started with
--acp
ACP Token Usage Reporting
ACP does not provide one uniform token-usage payload across CLI implementations. Usage availability and field meanings depend on the CLI and its version. Mopheus records usage data emitted by the active CLI; it cannot infer actual token usage when a CLI does not report it.
| CLI | Observed ACP usage reporting |
|---|---|
| Qwen Code | Emits usage metadata during execution. In the verified run, Mopheus recorded in-flight usage and the final total matched the runtime usage journal. Cached input is reported separately from uncached input; thought tokens are included in output tokens. |
| OpenCode | In the tested environment, usable token usage was available at completion, but not as in-flight usage updates. Availability may vary by CLI version. |
| Qoder CLI | With Qoder CLI 1.1.65 and the tested zhipu/glm5.3-cp model, the ACP session completed but returned zero usage values and no usable streaming usage metadata. Other versions, models, or configurations may behave differently. |
Registering Custom ACP CLIs
Any third-party CLI implementing the ACP specification can be registered as an available provider with one CLI command:
mopheus provider register my-agent acp \
--cmd-name my-agent-cli \
--env-var MY_AGENT_PATH \
--acp-args=--acp \
--unattended-mode bypassPermissionsSee Custom Provider CLI for unattended permission modes, aliases, and profile persistence details.