Act I
Mid-session amnesia
When the context window fills up, auto-compact lossily compresses your conversation — without asking.
805 → 21
messages left after one auto-compact. 97.4% of the conversation, gone in a single turn.
ccxray
WIRE-LEVEL OBSERVABILITY FOR CODING AGENTS
Claude Code is a black box — you can’t see the system prompt it sends, what each turn really costs, or what’s eating your context window. ccxray records every API call on the wire and shows it live. One command, zero config, 100% on your machine.
Node.js 18+ · macOS / Linux · no API key needed — it forwards whatever your CLI sends. Multiple terminals share one dashboard automatically.
Claude Code · Codex · GrokZero configFree for personal useFeatured in awesome-claude-code
No signup · No API key · 100% local



FOUR FINDINGS
None of these throw an error. They just silently damage your session, your bill, and your trust.
Act I
When the context window fills up, auto-compact lossily compresses your conversation — without asking.
805 → 21
messages left after one auto-compact. 97.4% of the conversation, gone in a single turn.
Act II
Prompt cache expires after a short idle window. Miss it, and your entire context gets re-billed at full price.
9.6×
cost spike — three cache blowups within 6 minutes, in one real session.
Act III
Agent calls spawn isolated clones with their own context and thinking — and they vanish the moment they finish.
62 lanes
of parallel subagents, peaking at 29 calls per second. Invisible without a timeline.
Act IV
MCP schemas, skills, CLAUDE.md and memory are read before your first word — a fixed briefing tax on every single session.
48.5%
of a 200K window gone before the first reply — In 99K, $1.02, with 28 MCP servers at 0 uses.
You would never deploy a server without monitoring. Yet we let AI agents edit production code with zero observability, every day.
That’s not an efficiency problem. It’s an engineering discipline problem.
Everything below is measured from real captured traffic — not estimated from logs.
Multi-agent sessions split into parallel swimlanes automatically — orchestrator on the main lane, forks and teammates on their own colored tracks. 62 concurrent subagents stop being invisible.

Burn rate, per-model spend, cache-hit economics, and per-account rate-limit cards for Claude and Codex. Know where every token goes.

Automatic version detection with a diff viewer. It’s how ccxray spotted Claude Code’s system prompt changes two weeks before Anthropic’s official postmortem confirmed them.
system prompt · v2.1.249 → v2.1.251 · 3 blocks changed
You are Claude Code, Anthropic's official CLI…
- Only use emojis if the user explicitly requests it
+ IMPORTANT: Assist with authorized security testing…
+ <system-reminder> blocks may be injected mid-turn
2 agents affected · first seen 14:02 · diff view →
Press ? for the cheatsheet; e / s / a / m jump to errors, skills, subagents, MCP calls. Every view is a shareable deep-link URL.

ccxray usage --json returns a compact, documented contract (under 4 KB). Let your agent audit its own spending.
$ ccxray usage --json | jq .totals
{
"costUsd": 4.83,
"cacheReadTokens": 18432011,
"turns": 212
}
This is the real dashboard — not a video. It’s loaded with three projects (two purpose-built + one real imported workshop project), 16 sessions, and parallel subagents. Click around; the keyboard works.
Open full-screen →Tip: press ? for shortcuts, e to jump to errors.
WHERE THIS IS GOING
Today you can see what your agent did. It’s still hard to see what it actually knew. ccxray is building execution provenance for coding agents:
Provider-neutral session annotations: did the task actually succeed — not just “the process exited 0”.
Which material actually entered the model’s context window, and where each piece came from.
What one agent handed to another — and which context never made it across.
Evidence-backed comparison between attempts at the same task, instead of vibes.
Principles
We’d rather you know before installing. Verified 2026-08-30.