- Every round recorded independent of the lightweight token log, every
runAgent()round (chat and every Orchestrator role) is captured verbatim to a local SQLite database (~/.coder/recorder.db): the full system prompt, message history, and tool definitions sent, plus the full response text/reasoning and every tool call’s args/result — a complete, replayable record of what was actually sent and received - Provider-accurate totals reads the provider’s own reported total token count (not just input + output) wherever the provider supplies one, plus cache read/write tokens and the provider’s raw usage payload, so the numbers match your actual bill, and any mismatch is inspectable down to the raw JSON
- Session list → drill-down the Reports tab (inside the Token Usage dashboard) lists recent sessions with at-a-glance totals; click one for a full per-run, per-round breakdown: system prompt / message / tool-definition size, input/output/total/reasoning tokens, time-to-first-token, round duration, and every tool call
- Raw payloads on demand each round’s system prompt, full message history, response text, reasoning, and tool call args/results are viewable in collapsible panels, collapsed by default so the view stays scannable until you need to inspect exactly what was sent
- Export to Markdown or HTML export any session’s full report as
{sessionId}_report.md(GitHub-flavored markdown, ideal for pasting into an AI chat to ask what can be tuned) or{sessionId}_report.html(a standalone, styled file with real collapsible sections, viewable in any browser) - Built for tuning, not just accounting the point of this data is diagnosing where tokens actually go — system prompt bloat, redundant tool calls, unbounded history growth — so the system prompt can be trimmed with evidence instead of guesswork
Core
Reports (Request/Response Recorder)
Every AI round recorded verbatim to SQLite — full prompts, responses, and tool calls, exportable to Markdown/HTML.
