Capability matrix
Token Optimizer supports the surfaces in the grid below and the separately scoped Grok Build, Pi, and Cowork adapters. Feature coverage varies because each host exposes a different hook surface. The grid below shows exactly what works where. The full feature set lands on Claude Code; other platforms cover what their host APIs allow.
Legend: Yes = full support, Part = partial or capability-gated, Beta = beta status, No = not available, n/a = not applicable, verify = not confirmed in source.
Dashboard port map
Section titled “Dashboard port map”Each runtime serves its dashboard on a fixed port, so multiple runtimes run side by side without conflict.
| Platform | Port | URL |
|---|---|---|
| Claude Code (CLI and VS Code) | 24842 | http://localhost:24842/token-optimizer |
| Codex (CLI and Desktop) | 24843 | http://localhost:24843/token-optimizer |
| Hermes | 24844 | http://localhost:24844 |
| Copilot | 24845 (reserved) | Not served yet. dashboard is refused under the Copilot runtime; use copilot-summary |
| Cursor | 24846 | http://localhost:24846/token-optimizer (verify) |
| Antigravity | 24847 | http://localhost:24847/token-optimizer |
| Grok Build | 24848 | http://localhost:24848/token-optimizer |
Feature grid
Section titled “Feature grid”| Capability | Claude Code CLI | Claude Code VS Code | Codex CLI | Codex Desktop | OpenCode | OpenClaw | Hermes | Copilot CLI (beta) | Copilot VS Code (beta) | Cursor (beta) | Antigravity (beta) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Quality scoring | 7 signals | 7 signals | 7 signals (GPT-5.x curves) | 7 signals | 7 signals (MRCR curves) | 7 signals (two-stage) | 3 signals | 3 signals | 3 signals | 3 signals | 3 signals |
| S/A/B/C/D/F grades | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Smart Compaction (PreCompact/PostCompact) | Yes | Yes | Approx. via prompt + Stop | Approx. via prompt + Stop | Yes (mode-aware) | Yes (progressive) | No (nudge only) | No (server-side) | No (server-side) | No (observational only) | No (no PreCompact hook) |
| Session continuity / checkpoints | Yes | Yes | Yes | Yes | Yes | Yes (progressive) | Yes (via history db) | Part (session-start restore) | Part (session-start restore) | Part (per-workspace restore) | Yes (PreInvocation restore) |
| Status line (terminal quality bar) | Yes | Via VSIX | Opt-in Codex status line | Not a separate Desktop bar | No | No | No | No | No | No | No |
| Dashboard (visual HTML) | Yes (24842) | Yes (24842) | Yes (24843) | Yes (24843) | Yes | Yes (8-tab) | Yes (24844) | No (copilot-summary instead) | Yes | Yes (24846, verify) | Yes (24847) |
| Daemon (bookmarkable URL) | Yes | Yes | Yes | Yes | No shared installer | No (own build) | Foreground dashboard; setup blocked | Setup blocked | Setup blocked | Foreground dashboard; setup blocked | Foreground dashboard; setup blocked |
| Keep-Warm automation | Watcher/reporting; LLM pings disabled | Same gate | No | No | No | No | No | No | No | No | No |
| Bash output compression | Yes | Yes | Experimental opt-in | Experimental opt-in | No | No | No | Part (gated on CLI ≥1.0.24) | No | Yes (observed) | Yes (PreToolUse rewrite, re-validated wrapper) |
| Delta read substitution | Yes | Yes | No | No | No | No | No | No (blocked #2585) | No (blocked #2585) | No | No |
| Structure-map substitution | Yes | Yes | No | No | No | No | No | No (blocked #2585) | No (blocked #2585) | No | No |
| First-read retarget (opened file full; related skeletons) | Promoted cohorts | Promoted cohorts | No | No | No | No | No | No (blocked #2585) | No (blocked #2585) | No | No |
| Per-prompt quality / lean-output steering | Yes | Yes | Via UserPromptSubmit | Via UserPromptSubmit | Yes | verify | No | No (regressed #3727) | No (regressed #3727) | No | No |
| Quality nudges and loop detection | Yes | Yes | verify | verify | Yes (native gates) | No | Limited nudge; no loop detection | No (regressed #3727) | No (regressed #3727) | Part (tool-call proxy) | Part (from last decoded generation) |
| Cache-health watchdog | Yes | Yes | Part | Part | Part | Part | Part | Part | Part | Part | Part |
| Cost tracking | Yes (Claude) | Yes | Yes (GPT-5.x) | Yes | Yes (30+ models) | Yes (30+ models, 4 tiers) | Yes (model-agnostic) | Yes (AI Credits) | Yes (per-request nanoAIU) | No (no cost data) | Yes (Gemini list estimate; credits when reported) |
| Fleet Auditor | Yes | Yes | Yes (cross-system) | Yes | No (verify) | Via own dashboard | No | No | No | No | No |
| Token Coach | Yes | Yes | Yes (AGENTS.md) | Yes | verify | Yes | No | No | No | No | No |
| Memory / config audit | Yes | Yes | Yes (AGENTS.md + memories) | Yes | No (verify) | Yes | No | No | No | No | No |
| Read-cache (warn/block modes) | Yes | Yes | No | No | No | Yes | No | No | No | No | No |
| Git-aware context | Yes (CLI) | Yes (same engine) | Shared CLI analysis | Shared CLI analysis | No | Yes | No | No | No | No | No |
| Drift detection | Yes (CLI) | Yes (same engine) | Shared CLI analysis | Shared CLI analysis | No | Yes | No | No | No | No | No |
| Impact validation | Yes (CLI) | Yes (same engine) | Shared CLI analysis | Shared CLI analysis | No | Yes | No | No | No | No | No |
| Agent cost breakdown | No (verify) | No | No | No | No | Yes | No | No | No | No | No |
| Model-switch simulation | No (verify) | No | No | No | No | Yes | No | No | No | No | No |
| Proactive context nudge | Yes | Yes | Yes | Yes | Yes | No (verify) | Limited (at 70%, only when native compression needs help) | Part (version-gated) | No | Part (30/80 tool calls) | Part (from last decoded generation) |
| Crash recovery | Yes (StopFailure) | Yes | Approx. (Stop + compact) | Approx. | verify | verify | verify | Yes (in-flight tally) | Yes (debug-log source) | Yes (in-flight tally) | Part (killed/incomplete flagged) |
How to read the gaps
Section titled “How to read the gaps”The repeated No entries fall into a few clear groups.
Read interception (delta and structure map) needs a hook that can rewrite the result of a file read before the model sees it. Claude Code supports this; Codex lacks updatedInput on its Read hook; Copilot’s additionalContext on preToolUse is broken upstream in Copilot CLI. Cursor, OpenCode and OpenClaw have no equivalent hook in their APIs. Antigravity’s PreToolUse can overwrite what is about to be read but cannot rewrite the tool result, so the substitution features are unavailable there too.
Bash output compression needs a hook that can rewrite tool input silently. Available on Claude Code, Cursor (every Shell rewrite is recorded as honoured or ignored), and Antigravity (whose rewritten command is re-validated by the wrapper before execution), experimental opt-in on Codex, gated on a Copilot CLI version, and unavailable on the TypeScript platforms and Hermes. On Claude Code, build and test commands (gcc, cargo, npm, make, go, mvn, and more) are also compressed PostToolUse even when they are not read-only: the command already ran, so the hook collapses repetition in the captured output while preserving every distinct error line, exit status, and summary.
Quality Nudges and Loop Detection need a session-visible notification surface to inject a warning the model can act on. Claude Code has it via UserPromptSubmit; Cursor’s postToolUse context surface fires on a tool-call-count proxy when preCompact has not supplied real context numbers. OpenCode appends native warnings through its system-transform path; OpenClaw does not carry these shared nudges. Hermes exposes pre_llm_call, which supports a limited fallback context nudge but not loop detection.
Status line needs a host status surface. Claude Code has it (and the VS Code VSIX surfaces it in the editor). Codex CLI has an explicit --enable-status-line installer option; that does not add the Claude desktop status bar to Codex Desktop.
Keep-Warm watcher/reporting is Claude Code-oriented; the scheduler is macOS-only and production LLM pings are disabled. The modeled automatic path normally requires API billing. OpenAI caching is automatic with no cache-write premium to recover; the other hosts have no comparable lever.
Cost tracking is absent on Cursor because the host exposes no billing figure to hooks or state files. The adapter surfaces cursor_no_cost_data rather than inventing a dollar number.
OpenClaw extras (read-cache warn/block, git-aware context, drift, impact validation, agent cost breakdown, model-switch simulation) are features of the native OpenClaw TypeScript engine. The Python CLI also ships git-context, drift, and validate-impact, and its Read hook supports warn/block modes. These are shared CLI or hook capabilities, not proof of parity with every OpenClaw dashboard simulation.
Quality scoring depth
Section titled “Quality scoring depth”Where a platform exposes 7 signals, the score uses the full set: context-fill degradation, stale reads, bloated results, duplicate system reminders, compaction depth, decision density, and agent-dispatch efficiency. Hermes, Copilot, Cursor, and Antigravity fall back to a 3-signal subset because their session schemas do not persist the other signals reliably. The S/A/B/C/D/F grade scale is identical everywhere, so grades are comparable across platforms even when the underlying signal count differs.
Grok Build and Pi
Section titled “Grok Build and Pi”| Capability | Grok Build (contract-only beta) | Pi (experimental) |
|---|---|---|
| Token/quality reporting | Three-signal score; session/signals data plus crash tally | Active-branch usage; cost coverage separates native, estimated, unpriced |
| Cost | Host USD ticks when complete; unknown otherwise | Native Pi cost subtotal, not a full bill |
| Bash compression | PreToolUse rewrite contract; live effect unverified | No trimming; full tool results stay inline |
| Continuity | No SessionStart/prompt restore through this passive hook contract | Separately opt-in review candidates; explicit accept reinjects |
| Tool archive | No general shared archive hook promised | Separately opt-in redacted archive with bounded storage |
| Dashboard | Shared foreground dashboard, port 24848; setup-daemon blocked | Extension command/report; no Python daemon port |
| Default | Install wires five events; live host unverified | Measurement, continuity, archive off until separately enabled |
See Grok Build and Pi for limits and install verification.
Claude Cowork
Section titled “Claude Cowork”Cowork is not shown as a column above. It runs the same Claude Code engine in a VM rather than exposing its own hook API, so its feature coverage is that of Claude Code minus the events omitted from the packaged Cowork payload (SessionStart, PreCompact, PostCompact, SessionEnd, StopFailure, PostToolUseFailure, CwdChanged). The adapter is experimental and its hook firing is not yet confirmed on a live build, so a per-cell grid would overstate what has been verified. The Cowork page lists the intended hook set, what works, what is degraded (in-place compaction restore), and what is not measurable from inside a Cowork session.
Per-platform detail
Section titled “Per-platform detail”For install commands, doctor commands, hook profiles, and platform-specific caveats, see the platform pages: Claude Code, Codex, OpenCode, OpenClaw, Hermes, Copilot, Cursor, Antigravity, Grok Build, Pi, and Cowork.
| Capability | Devin CLI / Desktop Devin Local (contract-only beta) | Hosted Devin |
|---|---|---|
| Explicit captured-output compression | Local filter verified; model adherence unverified | Manual playbook template, deployment unverified |
| Automatic command rewriting / output interception | Opt-in via install.sh --devin --auto: only commands your own allow rules already run without a prompt; desktop/ACP pending verification | No |
| Token measurement | Local output estimates only; not provider/session totals | No API collector |
| Quality / ACU / cost / savings / dashboard | No | No |
| Continuity / native compaction control | No | No |
| Install | POSIX user-triggered skill (no hooks); --auto adds two hooks to the Devin user config | Manual workspace setup only |
A live Devin CLI session exercised the documented workflow; Desktop’s bundled agent was exercised on macOS (skill listed and run over its ACP interface); the Desktop window itself was not, and no automated live-session validation exists. Desktop targets the documented shared skill-discovery contract, not Cascade or other ACP agents. Native Windows is unsupported. The estimate excludes orchestration overhead and does not prove delivered model tokens.
