Real-time dashboard for monitoring Claude Code sessions
Features · Quick Start · Development · How It Works
ClawView reads the JSONL session files that Claude Code writes to ~/.claude/projects/ and presents them in a live-updating web dashboard. Track token usage, costs, tool invocations, errors, and more across all your coding sessions.
Features
- Live session monitoring -- active sessions update in real time via WebSocket
- Project-level analytics -- token usage over time, daily costs, model breakdown, tool usage trends
- Session deep-dive -- conversation timeline with turn-by-turn token counts, tool calls, and context window usage
- Cost tracking -- per-session and per-project cost estimates based on model pricing
- Tool & MCP tracking -- see which tools and MCP servers each session uses, with category breakdowns
- Error & interruption rates -- spot problematic sessions at a glance
- Memory & skill browser -- inspect memory files and sub-agent skills from within the dashboard
- Continuation chain linking -- follows
/clearcontinuations across sessions - IDE integration -- links to open files directly in your editor
Screenshots
Quick Start
uvx clawview
That's it. Open http://localhost:3333 in your browser.
Requires uv (install:
curl -LsSf https://astral.sh/uv/install.sh | sh)
From source
git clone https://github.com/tuongaz/clawview.git
cd clawview
make run
This requires Python 3.11+, uv, and Bun.
Development
Run the frontend and backend separately for hot-reload:
# Terminal 1 -- Frontend (Vite dev server with HMR)
cd frontend && bun run dev
# Terminal 2 -- Backend
uv run clawview
Other commands
make build # Build frontend + sync Python deps
make clean # Remove web/dist, frontend/node_modules, .venv
uv run pytest # Run tests
uv run pyright src/clawview/ # Type checking
How It Works
ClawView is a Python (FastAPI) backend that serves a React (Vite) frontend as static files.
flowchart LR
A["~/.claude/projects/**/*.jsonl"] --> B["FastAPI Backend"]
B -- "WebSocket" --> C["React App (Browser)"]
C -- "REST / WS" --> B
The backend watches Claude Code's session files, parses JSONL entries into structured data (sessions, turns, tool events), computes analytics, and pushes updates to connected clients over multiple WebSocket channels.
Tech stack
| Layer | Technology |
|---|---|
| Backend | Python, FastAPI, Uvicorn, WebSockets |
| Frontend | React 19, TypeScript, Vite, Tailwind CSS, HeroUI |
| Charts | Recharts |
| Package | uv (Python), Bun (JS) |
Credits
Inspired by Sniffly by Chip Huyen.
License
MIT
Metadata
Release files for clawview 0.2.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| clawview-0.2.7.tar.gz | 41.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| clawview-0.2.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.8 MB
Release files / clawview-0.2.7.tar.gz
| Download URL | clawview-0.2.7.tar.gz |
|---|---|
| Size | 41.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f26679cdac2812cca69d567c2dda3f68a5005a35416aa5271a1a2151762e29d3
|
|
BLAKE2b-256 checksum How to use checksums |
de7bcc7d383bea611538352efa48843d4df758b64abee2b2208cd7d41a491b3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / clawview-0.2.7-py3-none-any.whl
| Download URL | clawview-0.2.7-py3-none-any.whl |
|---|---|
| Size | 3.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c284b4b667471bb4f77d3bf08d3fd2d6950d4a4fbd58949ce849b174e2ab46ee
|
|
BLAKE2b-256 checksum How to use checksums |
d7a40b2b01bf8e8eb70a72a6d98c99e3863d39536d62c9b1b94af894409c518c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|