Skip to content

About

The missing DevTools for Claude Code — inspect session logs, tool calls, token usage, subagents, and context window in a visual UI. Free, open source.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

400 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note

Actively maintained fork of matt1398/claude-devtools (upstream dormant since 2026-05). This fork carries new development: session-audit CLI and fixes. See the Upstream sync policy.

Your Claude is coding blind

claude-devtools

Your Claude is coding blind. See everything it did.

The debugging tool for Claude Code. Read session transcripts, inspect tool calls, track token usage — directly from the Claude Code logs on your machine.

GitHub stars  Website  Latest Release  Downloads  Platform  Mentioned in Awesome Claude Code


Download for macOS    Download for Linux    Download for Windows    Deploy with Docker    Install with Homebrew


demo.mp4


The Problem

Claude Code started hiding what it does.

Since v2.1.20, Claude Code replaced detailed output with opaque summaries. Read 3 files. Searched for 1 pattern. Edited 2 files. No file paths. No content. No line numbers. The community backlash was immediate.

But the problem goes deeper than collapsed file paths:

  • Thinking steps — Claude's chain-of-thought reasoning is completely invisible in the terminal
  • Tool call details — you see a one-line summary, not the actual input/output
  • Subagent activity — agents spawn agents, but you only see the final result
  • Context window — a three-segment progress bar with no breakdown of what's consuming your tokens
  • Team coordination — teammate messages, task delegation, shutdown requests — all buried

The only workaround is --verbose, which dumps raw JSON, internal system prompts, and thousands of lines of noise. There is no middle ground.

The Solution

claude-devtools is the debugging tool for Claude Code. It reads the Claude Code logs and session transcripts already saved to ~/.claude/ on your machine, and reconstructs everything.

What the terminal hides What claude-devtools shows
Read 3 files Exact file paths, syntax-highlighted content with line numbers
Searched for 1 pattern The regex pattern, every matching file, matched lines
Edited 2 files Inline diffs with added/removed highlighting
Three-segment context bar Per-turn token attribution across 7 categories with compaction visualization
Collapsed subagent output Full execution trees per agent with tool traces, tokens, duration, cost
Nothing about thinking Extended thinking content, fully visible
--verbose JSON dump Structured, filterable, navigable interface — no noise
Per-project Claude memory hidden in ~/.claude/projects/.../memory/ MEMORY.md rendered as a clickable index of layers; open any layer in your editor
Copy from terminal = wrapped lines, ANSI codes, broken Markdown Real selectable text, one-click copy on every message and code block

Zero configuration. No API keys. No wrappers. Works with every session you've ever run.

Tip

If claude-devtools saves you time debugging Claude Code, leaving a ⭐ on the repo is the single best way to support the project — it helps other developers find it.


Installation

Homebrew (macOS)

brew install --cask claude-devtools

Direct Download

Platform Download Notes
macOS (Apple Silicon) .dmg Download the arm64 asset. Drag to Applications. On first launch: right-click → Open
macOS (Intel) .dmg Download the x64 asset. Drag to Applications. On first launch: right-click → Open
Linux .AppImage / .deb / .rpm / .pacman Choose the package format for your distro
Windows .exe Standard installer. May trigger SmartScreen — click "More info" → "Run anyway"
Docker docker compose up Open http://localhost:3456. See Docker deployment

Key Features

context

Per-turn token attribution across 7 categories — CLAUDE.md (global, project, directory), skills, @-mentioned files, tool I/O, thinking, team overhead, user text. See exactly what's in the context window at any point.

copy-paste.mp4

Copying Claude Code output from the terminal mangles it — selection wraps at the terminal width, ANSI color codes leak into the clipboard, and code blocks lose their Markdown formatting. claude-devtools renders every message, tool call, and output as real selectable text with one-click copy on every code block, plus full-session export to Markdown / JSON / plain text.

Project memory viewer with layer list, frontmatter card, and Open-in launcher

Claude Code stores per-project memory at ~/.claude/projects/<project>/memory/ — a MEMORY.md index plus one .md file per layer (working style, architecture notes, etc.). claude-devtools surfaces this as a sidebar entry that opens a dedicated pane: layer list on the left, full markdown rendering on the right with frontmatter shown as a metadata card, Obsidian-style [[wikilinks]] for cross-layer navigation, and an icon-driven "Open in…" launcher that hands any layer (or the whole memory folder) off to Finder/Explorer, Cursor, VS Code, Zed, Xcode, iTerm, Ghostty, Terminal — or copies the absolute path.

Isolated execution trees per agent with tool traces, token metrics, duration, and cost. Nested agents render recursively.

Every tool call expanded with specialized viewers — syntax-highlighted Read calls, inline Edit diffs, Bash output, and full subagent trees.

Inspect sessions on any remote machine over SSH. Reads ~/.ssh/config, supports agent forwarding and key auth.

compact.mp4

See the moment your context hits the limit. Visualizes how context fills, compresses, and refills — so you know exactly what was lost. (Why did Claude forget? — debugging walkthrough)

noti.mp4

System notifications for .env access, tool errors, high token usage, and custom regex patterns on any field.

Command Palette & Multi-Pane Layout

Cmd+K for cross-session search. Open multiple sessions side-by-side with drag-and-drop tabs.

📖 Full documentation: claude-dev.tools/docs · Copy from Claude Code: claude-dev.tools/docs/copy-paste · JSONL format reference: claude-dev.tools/docs/jsonl-format · claude --verbose comparison: claude-dev.tools/docs/verbose-vs-devtools


Not a Wrapper

claude-devtools does not wrap, modify, or interfere with Claude Code. It reads session logs that already exist on your machine. Works with sessions from the terminal, IDEs, or any tool that uses Claude Code.


Upstream Sync Policy

This repository is the actively maintained fork of matt1398/claude-devtools; upstream has been dormant since 2026-05. Upstream is still fetched periodically, but it is not expected to move.

  • Local development happens in main and feature branches of this fork.
  • Open upstream PRs (e.g. #235) are closed as "carried in fork" once their changes are applied locally.

Docker / Standalone Deployment

Run without Electron — in Docker, on a remote server, or anywhere Node.js runs.

docker compose up
# Open http://localhost:3456

Or manually:

docker build -t claude-devtools .
docker run -p 3456:3456 -v ~/.claude:/data/.claude:ro claude-devtools
Variable Default Description
CLAUDE_ROOT ~/.claude Path to the .claude data directory
HOST 0.0.0.0 Bind address
PORT 3456 Listen port

The standalone server has zero outbound network calls. For maximum isolation: docker run --network none -p 3456:3456 -v ~/.claude:/data/.claude:ro claude-devtools. See SECURITY.md.


CLI: Token Analytics

Two scripts answer "where did the billed tokens go" with exact numbers from your JSONL sessions — no app, no rebuild:

# Deep audit of one session: per-turn/per-round ledger (input / cache_read /
# cache_write / output), waste findings, slow subagents, cost estimate
pnpm analyze:session <file.jsonl>
pnpm analyze:session --project <dir-or-encoded-name> --last

# Inventory of all sessions: duration, models, token totals, billing scheme
pnpm analyze:sessions
pnpm analyze:sessions --min-minutes 120 --sort tokens

Both commands share one flag grammar:

Flag Effect
--json Machine-readable output (the single machine-readable mode)
--breakdown Per-model token/cost split (analyze:session: BY MODEL table + JSON breakdown; analyze:sessions: model share in the models column + JSON tokensByModel per session)
--since DATE / --until DATE Date-range filter (YYYY-MM-DD or YYYYMMDD; activity window for analyze:session, session last-activity dates for analyze:sessions — a session that ran past --until drops out)
--last N Relative shortcut for --since: last N calendar days, local midnight N−1 days back (ccusage-style). On analyze:session a bare --last (no value) keeps its original meaning: pick the newest session of --project
--no-cost Omit cost estimates (hides the cost line, JSON costUsd/costPartial, breakdown costs)
--project, --min-minutes, --sort, --limit, --subagent-min-minutes Existing per-command flags, unchanged

More examples:

# Token cost breakdown by model for the latest session of a project
pnpm analyze:session --project my-project --last --breakdown

# Audit only yesterday's rounds, without cost estimates
pnpm analyze:session session.jsonl --since 2026-09-20 --until 2026-09-20 --no-cost

# Sessions active in the last 7 days, newest first
pnpm analyze:sessions --last 7 --sort date --limit 20

Positioning vs ccusage

ccusage computes macro usage aggregates — daily/monthly/blocks reports across many agent sources, plus a statusline. claude-devtools does the opposite: a deep per-session audit of Claude Code sessions (ledger, waste findings, subagents, inventory). Complementary tools, zero feature mixing: no daily/monthly/blocks aggregates, no multi-agent sources, no statusline, no pricing-sync network logic here — and no per-session waste audit in ccusage. The commands above deliberately reuse ccusage's flag conventions (--json, --since/--until, --last N, --breakdown, --no-cost) so the two tools feel consistent side by side.

--help on either command prints the full flag list.


Development

Build from source

Prerequisites: Node.js 20+, pnpm 10+

git clone https://github.com/matt1398/claude-devtools.git
cd claude-devtools
pnpm install
pnpm dev
Command Description
pnpm dev Development with hot reload
pnpm build Production build
pnpm typecheck TypeScript type checking
pnpm test Run all tests
pnpm check Full quality gate (types + lint + test + build)

Community

Contributing

See CONTRIBUTING.md for guidelines. Please read our Code of Conduct.

Security

IPC handlers validate all inputs with strict path containment checks. File reads are constrained to the project root and ~/.claude. See SECURITY.md.

License

MIT


Star History

Star History Chart

Found this useful? ⭐ Star the repo — it’s the easiest way to help other developers discover claude-devtools.

About

The missing DevTools for Claude Code — inspect session logs, tool calls, token usage, subagents, and context window in a visual UI. Free, open source.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages