Agentic AI Atlasby a5c.ai
OverviewWikiGraphFor AgentsEdgesSearchWorkspace
/
GitHubDocsDiscord
iiRecord
Agentic AI Atlas · Capabilities matrix
page:docs-agent-mux-archive-comparisons-19-capabilities-matrixa5c.ai
Search record views/
Record · tabs

Available views

II.Record viewspp. 1 - 1
overviewarticlejsongraph
II.
Page overview

page:docs-agent-mux-archive-comparisons-19-capabilities-matrix

Reference · live

Capabilities matrix overview

Inspect the raw attributes, linked wiki pages, and inbound or outbound graph edges for page:docs-agent-mux-archive-comparisons-19-capabilities-matrix.

PageOutgoing · 0Incoming · 1

Attributes

nodeKind
Page
sourcePath
docs/agent-mux/archive/comparisons/19-capabilities-matrix.md
sourceKind
repo-docs
title
Capabilities matrix
displayName
Capabilities matrix
slug
docs/agent-mux/archive/comparisons/19-capabilities-matrix
articlePath
wiki/docs/agent-mux/archive/comparisons/19-capabilities-matrix.md
article
# Capabilities matrix > Archived comparison document. Preserved for historical context; not part of the current normative `reference/` contract. One-glance view of which features each built-in adapter supports. Every row is the adapter's declared `capabilities` record — the same data you get at runtime via `client.adapter(agent).capabilities`. Legend: ✓ supported · · not supported · ~ partial / virtual-only. | Feature / Agent | claude | codex | gemini | copilot | cursor | opencode | opencode-http | openclaw | hermes | pi | omp | qwen | agent-mux-remote | |------------------------|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | Resume session | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | Fork session | ✓ | ✓ | ~ | · | ~ | ~ | ✓ | ~ | · | · | · | ~ | ✓ | | Multi-turn | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | Text streaming | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | Thinking streaming | ✓ | ✓ | · | · | · | · | · | · | · | · | · | ~ | ~ | | Tool-call streaming | ✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ | ~ | ~ | ~ | ✓ | ✓ | | Native tools | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | Parallel tool calls | ✓ | ✓ | ✓ | · | ✓ | ✓ | ✓ | · | · | · | · | ✓ | ~ | | MCP plugins | ✓ | ✓ | ✓ | · | ✓ | ✓ | ✓ | ✓ | · | · | · | ✓ | ~ | | Native hooks | ✓ | ✓ | ✓ | · | ~ | ~ | ~ | ~ | · | · | · | ~ | · | | Virtual hooks | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | Subagent dispatch | ✓ | · | · | · | · | · | ✓ | · | · | · | · | · | ~ | | Skills / AGENTS.md | ✓ | · | · | · | · | · | ✓ | · | · | · | · | · | · | | Image input | ✓ | · | ✓ | · | · | · | ✓ | · | · | · | · | ~ | ~ | | File attachments | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | Approval (yolo/prompt) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ~ | | PTY required | · | · | · | · | · | · | · | · | · | · | · | · | · | | Session persistence | file | file | file | file | file | file | file | file | file | file | file | file | transport | | Cost events | ✓ | ✓ | ✓ | · | ~ | ~ | ~ | · | · | · | · | ~ | ~ | | Invocation modes | local, docker, ssh, k8s — all adapters (chosen per-run via `RunOptions.invocation`). | ## Advanced Orchestration & Streaming Modes This matrix covers the detailed discovery for how each adapter handles streaming, interactivity, and queueing across the 16 mode combinations (Interactive/Non-Interactive × JSONL/Text × Stream/Non-Stream). ### Execution Modes | Mode | Format | Stream | claude | codex | gemini | copilot | cursor | opencode | opencode-http | openclaw | hermes | pi | omp | qwen | agent-mux-remote | |:---:|:---:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | **Interactive** | Text | **Stream** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | Text | **Non-Str** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | JSONL | **Stream** | ✓ | ✓ | · | · | · | · | · | · | · | · | · | · | ~ | | | JSONL | **Non-Str** | ✓ | · | · | · | · | · | · | · | · | · | · | · | ~ | | **Non-Interactive** | Text | **Stream** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | Text | **Non-Str** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | JSONL | **Stream** | ✓ | ✓ | · | · | · | · | · | · | · | · | · | · | ~ | | | JSONL | **Non-Str** | ✓ | · | · | · | · | · | · | · | · | · | · | · | ~ | ### Steering & Queueing Support Steering (injecting messages mid-run) and Queueing (queuing async messages) capabilities depend on the execution mode selected above. | Feature / Mode | Format | Stream | claude | codex | gemini | copilot | cursor | opencode | opencode-http | openclaw | hermes | pi | omp | qwen | agent-mux-remote | |:---:|:---:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | **Steering** (Interactive) | Text | **Stream** | ✓ | ✓ | ✓ | · | · | · | · | · | · | · | · | · | ~ | | | Text | **Non-Str** | ✓ | ✓ | ✓ | · | · | · | · | · | · | · | · | · | ~ | | | JSONL | **Stream** | ✓ | ✓ | · | · | · | · | · | · | · | · | · | · | ~ | | | JSONL | **Non-Str** | ✓ | · | · | · | · | · | · | · | · | · | · | · | ~ | | **Queueing** (Interactive) | Text | **Stream** | · | ✓ | ✓ | · | · | · | · | · | · | · | · | · | ~ | | | Text | **Non-Str** | · | ✓ | ✓ | · | · | · | · | · | · | · | · | · | ~ | | | JSONL | **Stream** | · | ✓ | · | · | · | · | · | · | · | · | · | · | ~ | | | JSONL | **Non-Str** | · | · | · | · | · | · | · | · | · | · | · | · | ~ | *(Non-Interactive support matches the Interactive table above identically for Steering and Queueing)* Current runtime note: the concrete `RunHandle.queue()` / `RunHandle.steer()` implementation is wired through the stdin-backed live-run path. Deferred delivery currently flushes on observed `tool_result` / `tool_error`, `message_stop`, and `turn_end` events. Adapters that are modeled as remote or programmatic transports still need dedicated transport-native wiring before this matrix can be treated as fully enforced runtime behavior for those paths. | Feature / Agent | claude | codex | gemini | copilot | cursor | opencode | opencode-http | openclaw | hermes | pi | omp | qwen | agent-mux-remote | |-------------------------------|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | **Async Loop Tools** | ✓ | · | · | · | · | · | · | · | · | · | · | · | ~ | ## How this is derived Each adapter declares `AgentCapabilities` (see `packages/agent-mux/core/src/capabilities.ts`) and `ModelCapabilities[]`. The matrix above is a human-readable summary; treat the declared capability objects as the source of truth for runtime feature gating: ```ts const caps = client.adapter('claude-code').capabilities; if (caps.supportsThinking) { /* render thinking UI */ } if (caps.supportsMCP) { /* expose MCP plugin settings */ } ``` ## Session persistence `file` adapters store transcripts as JSONL (or equivalent) under the harness's own session directory — agent-mux reads them back via `sessions.list()` / `sessions.read()` without re-parsing through the harness binary. `transport` (agent-mux-remote) delegates persistence to the remote endpoint: sessions live on the remote host and are fetched on demand. ## Partial (~) notes - **thinking streaming — qwen**: emitted as a distinct block but not byte-incrementally; the UI sees one delta per reasoning turn. - **MCP — agent-mux-remote**: routed over the transport; supported iff the remote endpoint is running an adapter that supports MCP. - **virtual hooks**: implemented by agent-mux off the event stream for every adapter. Use them when native hooks aren't available or when you want the same hook to fire across multiple harnesses. - **cost — cursor / opencode / qwen**: tokens reported, USD not always. The `cost` event still fires with `totalUsd: 0` in that case.
documents
[]

Outgoing edges

None.

Incoming edges

contains_page1
  • page:docs-agent-mux-archive-comparisons·Pageagent-mux archive: comparisons

Related pages

No related wiki pages for this record.

Shortcuts

Open in graph
Browse node kind