Skip to main content

Real-time workflow visualization for Claude Code

Project description

ccviz

See inside every Claude Code session — tool calls, thinking, parallel execution, all in one interactive graph.

PyPI version Python License CI PyPI downloads

ccviz screenshot


Install

pip install ccviz
ccviz start
# → http://localhost:7842 opens automatically

Requires Python ≥ 3.10. No Node.js needed.


What You Get

Feature Details
Per-turn workflow graph Each user message gets its own DAG — no more one giant session
Parallel execution Parallel tool calls render side-by-side in the same column
Thinking & planning nodes Claude's reasoning steps appear inline between tool calls
Near-real-time updates New nodes appear within 2–5 seconds as Claude executes
Node detail panel Click any node to see full input/output with JSON formatting
Filter & search Filter by tool type or search across all nodes in the current turn
Keyboard navigation to jump between turns

Node Colors

Color Type Tools
🔵 Blue File ops Read, Edit, Write
🟠 Orange Shell Bash
🟢 Green Search WebSearch, WebFetch
🟣 Purple Agent Agent, sub-agents
🔴 Red Interaction AskUserQuestion, TodoWrite, plan mode
🔷 Indigo Thinking Extended thinking blocks
🟡 Yellow Planning Claude's reasoning text

Quick Start

# 1. Install and launch
pip install ccviz
ccviz start

# 2. Use Claude Code as normal in another terminal
claude

# 3. Open http://localhost:7842 — select a session and turn to see the graph

How It Works

You type a message
      │
      ▼  UserPromptSubmit hook → new Turn created
Claude thinks & calls tools
      │
      ├──  PreToolUse hook  → node inserted (status: running)
      │    [tool executes]
      └──  PostToolUse hook → node updated  (status: done, duration)
      │
      ▼  Stop hook → session marked ended
~/.ccviz/db.sqlite
      │
      ▼  SSE (2-5s)
http://localhost:7842  (React Flow DAG)

ccviz start injects four hooks into ~/.claude/settings.json (global, all projects). All data stays on your machine — nothing is sent off-device.


CLI

ccviz start [--port PORT] [--no-open]   # inject hooks, start server, open browser
ccviz stop                               # stop server (hooks stay active)
ccviz status                             # server · hooks · DB info
ccviz uninstall                          # remove hooks + stop server (data preserved)

Default port: 7842


Data

~/.ccviz/
├── db.sqlite      # sessions, turns, tool calls
└── server.log     # server stderr

To wipe everything:

ccviz uninstall && rm -rf ~/.ccviz

Roadmap

  • Token usage per turn
  • Session search and filter
  • Export turn as image / shareable link
  • VS Code sidebar integration
  • Multi-machine / remote session support

Contributions welcome — see CONTRIBUTING.md.


Development

git clone https://github.com/mshubian/ccviz
cd ccviz
pip install -e ".[dev]"
pytest tests/ -v

Frontend (pre-built assets ship with the package, rebuild only if you change UI):

cd frontend
npm install
npm run dev     # :5173, proxies /api → :7842
npm run build   # outputs to ccviz/frontend/

License

MIT © mshubian


If ccviz is useful to you, a ⭐ on GitHub goes a long way — thank you!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ccviz-0.2.0.tar.gz (131.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ccviz-0.2.0-py3-none-any.whl (131.3 kB view details)

Uploaded Python 3

File details

Details for the file ccviz-0.2.0.tar.gz.

File metadata

  • Download URL: ccviz-0.2.0.tar.gz
  • Upload date:
  • Size: 131.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for ccviz-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cb5a4446ab3a99bd5671d2f053f4754114bf3da3eecde93c0a8b3ba37916af41
MD5 caa818158eef04df7e5b7516467cc380
BLAKE2b-256 09d13168974a0da8cb89a515327c833f74588943da0ed5bd1c0f9c559effb701

See more details on using hashes here.

File details

Details for the file ccviz-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ccviz-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 131.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for ccviz-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2b1762a8b600e8e1c525d120fc2c6a4d2fccc3c15b52eff2c994c961097c16ad
MD5 12365a619b15c7ce2dbf2bfde62bf5d9
BLAKE2b-256 524a6655855df9dadd56c1e640f4c828af3891165388737218cf9b8b0e0ca3f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page