Supported agents
Every coding agent CLI AnyAgent drives, with each adapter’s capabilities side by side and a page per adapter.
These are the agent CLIs AnyAgent supports. detect() scans for all of them in the order below, and each has its own subpath export for targeting it directly. The table is rendered from each adapter’s own Capabilities declaration, so it always matches what the code enforces.
| Agent | Binary | Mode | Streaming | Model | Read-only | Effort | Auth status | Models | Usage | Resume | Fork | MCP | Attachments | System prompt | Structured output | cwd |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Claude Code | claude | stdout | native | native | native | native | native | probed | probed | native | native | native | — | native | native | native |
| Codex | codex | stdout | native | native | native | native | native | native | native | native | — | — | native | emulated | emulated | native |
| opencode | opencode | acp | native | native | native | — | probed | native | remote | native | native | native | native | emulated | emulated | native |
| Kilo Code | kilo | acp | native | native | native | native | probed | native | — | native | native | native | native | emulated | emulated | native |
| Pi | pi | stdout | native | native | native | native | probed | native | — | native | native | — | native | native | emulated | native |
| goose | goose | acp | native | native | emulated | native | probed | — | — | native | — | native | — | emulated | emulated | native |
| Cline | cline | acp | native | native | emulated | — | probed | — | — | native | — | — | — | emulated | emulated | native |
| Gemini CLI | gemini | acp | native | native | emulated | — | probed | probed | — | — | — | — | — | emulated | emulated | native |
| Antigravity | agy | stdout | native | native | — | native | probed | native | probed | native | — | — | — | emulated | emulated | native |
| Cursor | agent | acp | native | native | native | native | native | native | — | native | — | — | — | emulated | emulated | native |
Reading the grid: native means the CLI does it itself, emulated means AnyAgent does it for you and the result is the same either way, and — means asking for it throws UnsupportedCapability before anything starts. You request an emulated capability exactly as you would a native one.
The last three columns — Auth status, Models, and Usage — answer questions about the CLI rather than gating a run, so they have two extra values. probed means AnyAgent worked it out from the CLI's own files and environment variables: useful, but a hint rather than a promise. remote means only the vendor knows, so the answer needs the network opt-in.
Usage is the one column that never throws, not even at —. It answers { state: "unknown" } instead, because "nobody can tell you" is itself the thing you would act on. See Usage and limits.
Mode is how the adapter drives its CLI: acp holds one connection for the session’s lifetime, which adds steering and permission-request events; stdout spawns one process per turn. Turns behave the same either way. Resume is separate — whether a conversation can be continued from a persisted id at all. Everything else CLI-specific lives on the adapter’s page.
Next steps
- Run an agent: choose among the agents on the machine and reach native flags the unified interface does not cover
- Sessions: thread a conversation across turns
- Adding an adapter: bring another CLI into this list