ccxray

WIRE-LEVEL OBSERVABILITY FOR CODING AGENTS

See everything your coding agent does.

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

The ccxray dashboard: a live session with per-turn cost, cache and context breakdown — Dashboard — projects, sessions and turns
Dashboard — projects, sessions and turns
The ccxray dashboard: a live session with per-turn cost, cache and context breakdown — Turn timeline with subagent lanes
Turn timeline with subagent lanes
The ccxray dashboard: a live session with per-turn cost, cache and context breakdown — Usage and cost history
Usage and cost history

Open the full demo on desktop

FOUR FINDINGS

Four ways your agent quietly costs you

None of these throw an error. They just silently damage your session, your bill, and your trust.

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.

Act II

The bill that suddenly explodes

Prompt cache expires after a short idle window. Miss it, and your entire context gets re-billed at full price.

cost spike — three cache blowups within 6 minutes, in one real session.

Act III

Subagents you never see

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

The tax you pay before speaking

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.

An AI coding agent isn’t a tool. It’s your runtime.

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.

What’s on the wire

Everything below is measured from real captured traffic — not estimated from logs.

Workflow timeline & subagent lanes

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.

Workflow timeline & subagent lanes

Usage, cost & rate limits

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

Usage, cost & rate limits

System prompt tracking

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 →

Keyboard-first navigation

Press ? for the cheatsheet; e / s / a / m jump to errors, skills, subagents, MCP calls. Every view is a shareable deep-link URL.

Keyboard-first navigation

A usage CLI your agent can read

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

}

Try the dashboard, right now

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

From context to outcome.

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:

Task outcomes

Provider-neutral session annotations: did the task actually succeed — not just “the process exited 0”.

Context provenance

Which material actually entered the model’s context window, and where each piece came from.

Handoff graphs

What one agent handed to another — and which context never made it across.

Run comparison

Evidence-backed comparison between attempts at the same task, instead of vibes.

Principles

  • · Observed wire facts over hidden-reasoning claims
  • · Observed ≠ derived ≠ inferred ≠ judged — never silently flattened
  • · Reference raw content instead of duplicating it
  • · No causal claims the evidence can’t support
Design discussions happen in the open on GitHub

Honest limitations

We’d rather you know before installing. Verified 2026-08-30.

Codex support is beta
Each Codex turn records model, token usage, instructions, and tools over the WebSocket transport — but turn detail can still trail Claude sessions in places.
Grok support is beta
Grok CLI proxying works, including the account usage card, but it has less real-world mileage than the Claude path.
CLI agents only
Claude Desktop and ChatGPT Desktop don’t expose a configurable API endpoint, so a wire proxy can’t see them. ccxray covers CLI agents.
Your data stays local
Everything is recorded to ~/.ccxray on your machine. Nothing is uploaded — which also means no cloud sync.
The demo is a snapshot
The embedded demo is a static snapshot of freshly generated, sanitized demo sessions — no live traffic, no real work data. Your local dashboard is always newer.
You might not need it
Short sessions and no cost concerns? The plain CLI may be all you need.