The accidental AI debugger
August 13, 2026 Β· View on GitHub
llmux was built as a router. But once every model request your agent makes
flows through localhost:3456, and llmux keeps the raw bytes of both halves of
every exchange, you get something you didn't install it for: DevTools for your
agent's model traffic.

Original raw-viewer recording (mp4)
- Live per-request receipts. The activity feed prints one row per completed
request: what it was (
userturn,subagent,securitypass,compact,count, β¦), model + effort, serving account, status, latency, tokens, API-equivalent cost, and a session-tagged input preview. "Which subagent just burned 236k tokens on that turn" has a one-glance answer. - A DevTools-style raw viewer. Open any request (
π requeston an expanded row) into a modal over the dashboard. A translated codex/grok exchange shows all four legs of the wire βRequest(what Claude Code sent) βUpstream Req(what llmux rewrote it into) βUpstream Resp(the provider's verbatim reply) βResponse(what your client received). Headers, SSE events, rate-limit state, request bodies: scroll, pan, and read the actual bytes. - Copy as curl. One keypress reconstructs a
curlfor a tab's side of the exchange β credential values stayβ’β’β’redacted, so substitute your own before replaying. Raw bodies copy to the clipboard, andsave allwrites the whole record JSON to~/Downloads. A provider bug report with the exact failing frame attached is one keypress away. - Wire truth, archived. Captures persist to
raw-io.jsonl, and the repo's captured system prompts were taken from this same wire β what Claude Code actually injects per model, not what the docs say it injects. - Email masking for screen shares.
email_anonymousmasks every account email behind a fixed pool of famous-CS-name fakes across the TUI and Islands, and credential header values (authorization, keys/tokens/cookies) are redacted at capture time. Raw payloads still contain whatever your session contained β treat the viewer's body panes accordingly. The recordings on this page were taken live with masking on, with remaining identifiers pixelated in post.

Original usage-tab recording (mp4)
The kinds of questions this answers in seconds, because the evidence is already on
screen: why is this request 428 KB; did context_management edits actually apply
upstream; what did the provider really return before the adapter converted it;
which account is about to hit its 5-hour window, and why did the scheduler switch.
Debugging an agent stack without seeing the wire is guesswork β this makes the wire
a first-class surface.
Viewer key reference: operational-reference.md.