claude-devtools README

The project's README from github.com/matt1398/claude-devtools. As one markdown file: README.md.

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


Your browser does not support the video tag.


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:

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 Reconstruction

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.

Terminal-Friendly Copy & Paste

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

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.

Team & Subagent Trees

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

Tool Call Inspector

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

SSH Remote Sessions

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

Compaction Visualization

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)

Notification Triggers

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.


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.


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.

claude-devtools (matt1398/claude-devtools)

Searching Database…

这是什么?claude-devtools 是一款免费开源的 Claude Code 调试工具,它读取你机器上已保存的会话日志,在可视化的桌面界面中还原工具调用、思考步骤、子代理树、token 用量和上下文窗口明细。
它是 Claude Code 的包装器,还是只是一个日志查看器?它是一个独立的 Electron 桌面应用,只读取已有的 ~/.claude/ 会话日志。它不会以任何方式包装、修改 Claude Code 或挡在它前面。
使用前需要 API 密钥或任何配置吗?不需要。它零配置、无需 API 密钥即可使用,因为它只是读取 Claude Code 已经写入你机器上 ~/.claude/ 的会话日志。
安装上有什么需要留意的坑吗?macOS 版本未签名,所以首次启动必须右键点击“打开”而不是双击;Windows 安装器可能会触发 SmartScreen 警告,你需要手动点击通过。
我的会话数据会离开我的电脑吗?不会,独立服务器不发出任何出站网络请求,所有文件读取都经过严格校验,且被限制在项目根目录和 ~/.claude 目录内。
压缩可视化(Compaction Visualization)功能展示什么?它将上下文达到上限的时刻,以及上下文填充、压缩、重新填充的过程可视化,让你清楚地看到压缩过程中丢失了哪些信息。
可以查看远程服务器上运行的会话吗?可以,通过 SSH Remote Sessions 功能,它会读取你的 ~/.ssh/config,支持代理转发和密钥认证,从而检查任意远程机器上的 Claude Code 会话。
它怎么展示每个项目的 Claude 记忆?它把 ~/.claude/projects/.../memory/ 中的 MEMORY.md 索引渲染成一个可点击的侧边栏面板,支持完整的 markdown 渲染、层与层之间的 wikilink 导航,以及针对 VS Code、Cursor、Zed 等编辑器的“Open in...”启动器。
它能提醒我有风险的工具操作吗?可以,Notification Triggers 会在 .env 文件被访问、工具报错、token 用量过高或任意字段命中自定义正则时发出系统通知。
Creator
matt1398
Size
105.7 MB
Stars
4K
Age
8mo
Commits · 90 Days