Capability matrix
Every valid harness × model-endpoint cell that ships today, by company.
A cell is one valid pairing of a harness and a model endpoint host. The cells
below are generated from donmai's capability matrix (matrix/matrix.json, the
source of truth) - they are computed from each harness's drive surface and each
endpoint's declared hosts, not hand-listed.
brings own auth cells run on the user's own login/subscription (no key, ≈$0 to
meter); needs key cells inject an API key and meter spend.
Anthropic
| Harness | Host | Auth modes | Transport | Cost |
|---|---|---|---|---|
| Claude Code | oauth-cli | host-session | cli-injection | host subscription |
| Claude Code | direct | byok, metered | cli-injection | metered |
| Claude Code | bedrock | byok, metered | cli-injection | metered |
| Claude Code | vertex | byok, metered | cli-injection | metered |
| Amp | direct | metered | cli-injection | metered |
Amp authenticates with its own access token, so it is always metered - never a ≈$0 subscription cell.
OpenAI
| Harness | Host | Auth modes | Transport | Cost |
|---|---|---|---|---|
| Codex | oauth-cli | host-session | subprocess-jsonrpc | host subscription |
| Codex | direct | byok, metered | subprocess-jsonrpc | metered |
| Codex | azure | byok, metered | subprocess-jsonrpc | metered |
| OpenCode | direct | byok, metered | cli-injection | metered |
OpenCode drives an OpenAI-compatible protocol, so it also binds other
OpenAI-compatible endpoints (including a local server's /v1).
| Harness | Host | Auth modes | Transport | Cost |
|---|---|---|---|---|
| Antigravity | oauth-cli | host-session, local | pty | host subscription |
| raw | direct | byok, metered | direct-api | metered |
| raw | vertex | byok, metered | direct-api | metered |
| OpenCode | local | local | cli-injection | local |
Google is one company with two distinct cells: Antigravity over your own
OAuth-CLI login (no key), and the raw loop over the direct/Vertex API
(key-billed). The auth mode selects the cell - you never pick "Antigravity" as if
it were a model.
Local
| Harness | Host | Auth modes | Transport | Cost |
|---|---|---|---|---|
| raw | local | local | direct-api | local |
On-box models (e.g. an Ollama server) - no key, no metering.
The raw harness over a native endpoint (Google direct/Vertex, Local) supports
strict structured output - the model is constrained server-side to a JSON
schema. CLI/pty harnesses deliver soft structured output (the schema is
instructed in the prompt, then validated). See the one-shot completion lane for
how a workload picks between them.