See every qm turn, scope, and token as it happens. ClawMetry reads qm's Postgres tables in read-only mode and renders sessions, tokens, cost, and the org-scope layer in one dashboard. No qm code change.
qm (github.com/yc-software/qm, qm.ycombinator.com) is Y Combinator's open-source multiplayer agent harness: one Slack + web surface per org, per-scope sandboxes, and a central turn loop that delegates to Pi, OpenCode, Codex, and Claude Code. ClawMetry's qm adapter opens the same Postgres qm writes to and surfaces:
sessions table.session_entries.session_llm_requests.usage_json (Anthropic and OpenAI shapes both handled), split into input, output, cache-read, and cache-write tokens.turn_metrics.scopeId, surface, threadRef, channelName. That Pi, OpenCode, Codex, and Claude Code cannot see individually.CREATE TABLE statements in src/sessions/postgres-session-store.ts and src/admin/postgres-metrics-sink.ts.
Pick the line that matches your OS. Windows users: paste the install.cmd line, not the shell one.
# macOS or Linux
curl -fsSL https://clawmetry.com/install.sh | bash
# Windows (cmd.exe or PowerShell)
curl -fsSL https://clawmetry.com/install.cmd -o install.cmd && install.cmd
clawmetry connect
ClawMetry reads CLAWMETRY_QM_DATABASE_URL first (so you can point at a read replica), then falls back to DATABASE_URL if unset.
export CLAWMETRY_QM_DATABASE_URL="$DATABASE_URL"
Open http://localhost:8900. Switch the runtime chip to QM. Every qm session, scope, and cost is there.
Start the free trial →Every connection sets:
SET default_transaction_read_only = on;
before any SELECT. A bug in ClawMetry cannot mutate qm's tables. All queries hit indexed paths (sessions_by_activity, session_entries_session_created, turn_metrics_by_ts). Connections are opened per query and closed immediately, so a stalled query cannot pin a pool slot.
If your policy is stricter, point CLAWMETRY_QM_DATABASE_URL at a Postgres read replica. Nothing else in ClawMetry needs write access to qm's database.
| Tab | What it shows | Scope |
|---|---|---|
| Sessions | Every qm session, sorted by last activity, with scope, surface, and token totals | All scopes, or filter by one |
| Brain | Live entries as they land: user messages, tool calls, handoffs to child harnesses | Whole node, or one session |
| Cost | Per-session, per-scope, per-hour token spend; cache-read vs uncached-input split | Runtime = qm, or all |
| Sub-agents | Which child harness (Pi, OpenCode, Codex, Claude Code) served each qm turn | Per session |
qm's own admin surface shows current runs and audit logs. What it does not show is real-time cost per hour across scopes, cache hit rate per session, or a kill-switch when a scope's turn is token-maxing. Those are the things a team running qm on a real budget needs on day one; they are what ClawMetry adds. See the cost-per-hour visibility page and the token-maxing page for how these work end to end.
qm is one of 19. Free on every plan: OpenClaw, NVIDIA NemoClaw. Paid on Cloud Pro or Self-Hosted Pro: the rest.
Individual per-runtime pages are rolling out over the next few weeks. Ping vivek@clawmetry.com if there's one you want prioritised.