cc-dump
A live viewer for everything Claude Code sends to and receives from the Anthropic API. Run it, point Claude Code at it, and watch the full conversation — system prompts, tool calls, token costs, streaming responses — in a terminal UI.
Quickstart
# 1. Install (pulls all dependencies, including snarfx, from PyPI)
uv tool install "git+https://github.com/brandon-fryslie/cc-dump.git"
# 2. Start cc-dump — it prints the port it's listening on
cc-dump
# → Listening on: http://127.0.0.1:<PORT>
# 3. In another terminal, launch Claude Code pointed at cc-dump
ANTHROPIC_BASE_URL=http://127.0.0.1:<PORT> claude
That's it. Every request Claude Code makes now streams into the cc-dump UI, and is recorded to disk automatically so you can replay it later.
To replay a past session instead of proxying live traffic:
cc-dump --replay latest
Requirements
- uv — the installer used above. Install it with
curl -LsSf https://astral.sh/uv/install.sh | sh. - Python 3.10+ —
uvwill fetch a suitable Python for you if you don't have one. - Claude Code — the thing you're monitoring.
- A terminal that renders 256 colors / truecolor (any modern terminal: iTerm2, Ghostty, Kitty, Windows Terminal, etc.).
No API keys, certificates, or config files are needed. cc-dump sits between Claude Code and Anthropic as a plain reverse proxy — Claude Code still uses your normal auth.
Optional: running inside tmux unlocks split-pane launching and auto-zoom (see the Tmux keys below).
Using it
cc-dump is keyboard-driven. The conversation scrolls in the main pane; every content type can be shown at three levels of detail, and panels along the side show cost and timeline analysis.
The core idea: 3 levels of detail
Each category of content (your messages, the assistant's, tool calls, etc.) can be displayed at one of three levels. Press a category's number key to cycle it:
| Level | Symbol | Shows |
|---|---|---|
| Existence | · |
One line — "this exists," details hidden |
| Summary | ◐ |
A short preview |
| Full | ● |
Everything |
You can also click any block marked ▶/▼ to expand or collapse just that one block.
Category keys
| Key | Category | Starts at |
|---|---|---|
1 |
Your messages | Full |
2 |
Assistant | Full |
3 |
Tool calls & results | Summary |
4 |
System prompt | Summary |
5 |
Token budget | Hidden |
6 |
Metadata | Hidden |
7 |
HTTP headers | Hidden |
Hold Shift with a number to toggle its detail axis; the matching lowercase letter (q w e r t y u → categories 1–7) toggles expansion.
Navigation
| Key | Action |
|---|---|
j / k |
Scroll down / up a line |
h / l |
Scroll left / right a column |
Ctrl+D / Ctrl+U |
Half page down / up |
Ctrl+F / Ctrl+B |
Full page down / up |
g / G |
Jump to top / bottom |
0 |
Follow mode — auto-scroll to newest content |
Search
| Key | Action |
|---|---|
/ |
Open search (regex, case-insensitive by default) |
Enter |
Jump to first match |
n / N |
Next / previous match |
Alt+c / Alt+w / Alt+r / Alt+i |
Toggle case / word / regex / incremental |
Esc |
Close search, keep the view it opened |
q |
Cancel and restore the view you had before |
Searching automatically reveals matching content in full, even if that category was collapsed.
Panels & views
| Key | Action |
|---|---|
. |
Cycle side panel: stats → cost → timeline |
, |
Toggle cost panel between totals and per-model breakdown |
i |
Server info (URL, mode, session, versions) — click a row to copy it |
Ctrl+L |
Debug log panel |
Presets & themes
| Key | Action |
|---|---|
F1–F9 |
Apply a visibility preset (Conversation, Overview, Tools, Cost, Full Debug, …) |
= / - |
Cycle presets forward / backward |
[ / ] |
Previous / next color theme (remembered across runs) |
Tmux (only when running inside tmux)
| Key | Action |
|---|---|
c |
Launch Claude Code in a split pane (or focus it if already running) |
z |
Toggle zoom on the cc-dump pane |
Z |
Auto-zoom cc-dump whenever a request is in flight |
Everything else
| Key | Action |
|---|---|
Ctrl+P |
Command palette — searchable list of every action, including "Dump conversation" to export |
Ctrl+C |
Quit |
Contributing or want the full CLI reference? Run cc-dump --help, and see ARCHITECTURE.md and CLAUDE.md.
Metadata
Release files for cc-dump 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| cc_dump-0.3.0.tar.gz | 1.2 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cc_dump-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.5 MB
Release files / cc_dump-0.3.0.tar.gz
| Download URL | cc_dump-0.3.0.tar.gz |
|---|---|
| Size | 1.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a28a780578207666fea55ef66b59344708f9cb660055aedc4816580da1d3bac0
|
|
BLAKE2b-256 checksum How to use checksums |
7ed1ccd28f6a60f36c08c61cc0584315428c16b48f35ff0a94f2d5bb9d54e537
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / cc_dump-0.3.0-py3-none-any.whl
| Download URL | cc_dump-0.3.0-py3-none-any.whl |
|---|---|
| Size | 272.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1a9c0601e9d8f85878f17fd37b52b5648c82656f2e4098157af130d31906ed41
|
|
BLAKE2b-256 checksum How to use checksums |
a1ee60c46bc721abe6c8c5f29ba0595ec15fefed563d44dabc4616ad520a9194
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Security for cc-dump 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.