--- title: What each runtime exposes description: A side-by-side of what token and cost data every supported agent runtime genuinely persists — and where ClawMetry reports unknown rather than estimating. keywords: agent runtime comparison, LLM cost data availability, agent token tracking accuracy eyebrow: Runtimes --- # What each runtime exposes Runtimes differ enormously in what they write down. Rather than showing a plausible number everywhere, ClawMetry reports what a store actually contains and marks the rest unknown. This page is the comparison. Each runtime's own page has the detail. ## Tokens and cost {{RUNTIME_COST_TABLE}} ## The four honesty states Every session carries a cost status, and the dashboard renders them differently on purpose: | Status | Meaning | |---|---| | `exact` | The runtime wrote dollars, or every model call was priceable | | `estimated` | Cost derived from tokens, with a caveat — a model resolved from current config rather than the session's own record | | `partial` | Some calls priced, some not | | `tokens_only` | Real tokens, no priceable model | | `unavailable` | Neither is on disk. Reported as unknown, never as `$0.00` | A `$0.00` and an *unknown* are different facts. A local Ollama run genuinely costs zero, and opencode records that honestly; PicoClaw simply does not record anything, and pretending that means zero would quietly understate a fleet. ## Structural differences worth knowing **Trees, not lists.** Pi, Devin and Deep Agents all store conversations as trees or forests, because they support branching, forking and reverting. Summing every row bills you for work that was thrown away. ClawMetry walks the active chain and reports the abandoned nodes as a count. **Delegation is persisted five different ways.** Copilot runs sub-agents inside the parent's event log; Grok writes a `meta.json` in the parent's directory; Antigravity gives each child a full conversation of its own and records the edge in a summaries database; Deep Agents uses a checkpoint namespace; Pi and PicoClaw persist no child at all, so children are synthesised from the parent's tool call and result. See each runtime's sub-agent section. **Some stores are actively written while you read them.** Cursor, Devin, n8n, Copilot and Hermes are read WAL-aware so live sessions are visible. NanoClaw's per-session databases are opened immutable so ClawMetry can never take a lock the runtime needs. **Two runtimes are not files.** QM is PostgreSQL; Exo is workspace-relative rather than home-anchored. See [How detection works](/docs/runtimes/detection/). ## Feature coverage by runtime family Not every dashboard page applies to every runtime — a page that would be permanently empty is hidden rather than shown blank. | Capability | Available when | |---|---| | Transcripts | Any runtime with a readable store | | Tool timeline | The store records tool calls and results separately | | Thinking / reasoning | The runtime persists reasoning blocks (most modern ones do) | | Cost | Tokens on disk, or dollars on disk — see the table above | | Sub-agents | The runtime persists a delegation edge, in any of the five shapes above | | Cron / schedules | OpenClaw, NemoClaw, Hermes, Cline | | Memory files | OpenClaw, NemoClaw, Hermes, and any runtime with a documented memory directory | | Skills | Runtimes with a skills directory and usage log | | Live gateway stream | OpenClaw and NemoClaw (JSON-RPC WebSocket) | | Pause / stop / kill | Anything that is a real local process tree — see [process control](/docs/guard/process-control/) | ## Runtime extras Some runtimes expose something no generic tab can show — Grok's upload manifest of what it staged for xAI, Cline's rejected tool calls, Copilot's credit ledger, Kimi's context-window occupancy. Those surface on the **Runtime extras** tab, which only appears when the selected runtime actually has extras.