{"id":45041020,"url":"https://github.com/matt1398/claude-devtools","last_synced_at":"2026-04-30T16:00:58.074Z","repository":{"id":338267104,"uuid":"1152166697","full_name":"matt1398/claude-devtools","owner":"matt1398","description":"The missing DevTools for Claude Code — inspect session logs, tool calls, token usage, subagents, and context window in a visual UI. Free, open source.","archived":false,"fork":false,"pushed_at":"2026-04-27T04:32:28.000Z","size":106872,"stargazers_count":3202,"open_issues_count":26,"forks_count":236,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-04-27T06:28:05.104Z","etag":null,"topics":["ai","ai-agent","ai-debugging","ai-tools","anthropic","claude","claude-code","claude-code-tools","debugging","desktop-app","developer-tools","devtools","electron","llm","macos-app","observability","open-source","session-viewer","token-usage","typescript"],"latest_commit_sha":null,"homepage":"https://claude-dev.tools","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matt1398.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-07T13:17:25.000Z","updated_at":"2026-04-27T04:28:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/matt1398/claude-devtools","commit_stats":null,"previous_names":["matt1398/claude-devtools"],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/matt1398/claude-devtools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matt1398%2Fclaude-devtools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matt1398%2Fclaude-devtools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matt1398%2Fclaude-devtools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matt1398%2Fclaude-devtools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matt1398","download_url":"https://codeload.github.com/matt1398/claude-devtools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matt1398%2Fclaude-devtools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32469346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agent","ai-debugging","ai-tools","anthropic","claude","claude-code","claude-code-tools","debugging","desktop-app","developer-tools","devtools","electron","llm","macos-app","observability","open-source","session-viewer","token-usage","typescript"],"created_at":"2026-02-19T07:26:20.899Z","updated_at":"2026-04-30T16:00:58.066Z","avatar_url":"https://github.com/matt1398.png","language":"TypeScript","funding_links":[],"categories":["Tooling 🧰","Monitoring \u0026 Analytics","AI Agent Frameworks \u0026 SDKs","TypeScript"],"sub_categories":["General","Multi-Agent Collaboration Systems"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"resources/claude.png\" alt=\"Your Claude is coding blind\" width=\"600\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eclaude-devtools\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eYour Claude is coding blind. See everything it did.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eThe debugging tool for Claude Code. Read session transcripts, inspect tool calls, track token usage — directly from the Claude Code logs on your machine.\u003c/sub\u003e\n\u003c/p\u003e\n\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://claude-dev.tools\"\u003e\u003cimg src=\"https://img.shields.io/badge/Website-claude--dev.tools-blue?style=flat-square\" alt=\"Website\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/matt1398/claude-devtools/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/matt1398/claude-devtools?style=flat-square\u0026label=version\u0026color=blue\" alt=\"Latest Release\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/matt1398/claude-devtools/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/matt1398/claude-devtools/total?style=flat-square\u0026color=green\" alt=\"Downloads\" /\u003e\u003c/a\u003e\u0026nbsp;\n  \u003cimg src=\"https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows%20%7C%20Docker-lightgrey?style=flat-square\" alt=\"Platform\" /\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/hesreallyhim/awesome-claude-code\"\u003e\u003cimg src=\"https://awesome.re/mentioned-badge.svg\" alt=\"Mentioned in Awesome Claude Code\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/matt1398/claude-devtools/releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/macOS-Download-black?logo=apple\u0026logoColor=white\u0026style=flat\" alt=\"Download for macOS\" height=\"30\" /\u003e\n  \u003c/a\u003e\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://github.com/matt1398/claude-devtools/releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Linux-Download-FCC624?logo=linux\u0026logoColor=black\u0026style=flat\" alt=\"Download for Linux\" height=\"30\" /\u003e\n  \u003c/a\u003e\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://github.com/matt1398/claude-devtools/releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Windows-Download-0078D4?logo=windows\u0026logoColor=white\u0026style=flat\" alt=\"Download for Windows\" height=\"30\" /\u003e\n  \u003c/a\u003e\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#docker--standalone-deployment\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Docker-Deploy-2496ED?logo=docker\u0026logoColor=white\u0026style=flat\" alt=\"Deploy with Docker\" height=\"30\" /\u003e\n  \u003c/a\u003e\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#installation\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Homebrew-Install-FBB040?logo=homebrew\u0026logoColor=white\u0026style=flat\" alt=\"Install with Homebrew\" height=\"30\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cvideo src=\"https://github.com/user-attachments/assets/2b420b2c-c4af-4d10-a679-c83269f8ee99\"\u003e\n    Your browser does not support the video tag.\n  \u003c/video\u003e\n\u003c/p\u003e\n\n---\n\n## The Problem\n\n**Claude Code started hiding what it does.**\n\nSince [v2.1.20](https://symmetrybreak.ing/blog/claude-code-is-being-dumbed-down/), 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](https://news.ycombinator.com/item?id=46978710).\n\nBut the problem goes deeper than collapsed file paths:\n\n- **Thinking steps** — Claude's chain-of-thought reasoning is completely invisible in the terminal\n- **Tool call details** — you see a one-line summary, not the actual input/output\n- **Subagent activity** — agents spawn agents, but you only see the final result\n- **Context window** — a three-segment progress bar with no breakdown of what's consuming your tokens\n- **Team coordination** — teammate messages, task delegation, shutdown requests — all buried\n\nThe only workaround is `--verbose`, which dumps raw JSON, internal system prompts, and thousands of lines of noise. **There is no middle ground.**\n\n## The Solution\n\n**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*.\n\n| What the terminal hides | What claude-devtools shows |\n|------------------------|---------------------------|\n| `Read 3 files` | Exact file paths, syntax-highlighted content with line numbers |\n| `Searched for 1 pattern` | The regex pattern, every matching file, matched lines |\n| `Edited 2 files` | Inline diffs with added/removed highlighting |\n| Three-segment context bar | Per-turn token attribution across 7 categories with compaction visualization |\n| Collapsed subagent output | Full execution trees per agent with tool traces, tokens, duration, cost |\n| Nothing about thinking | Extended thinking content, fully visible |\n| `--verbose` JSON dump | Structured, filterable, navigable interface — no noise |\n\n**Zero configuration. No API keys. No wrappers. Works with every session you've ever run.**\n\n---\n\n## Installation\n\n### Homebrew (macOS)\n\n```bash\nbrew install --cask claude-devtools\n```\n\n### Direct Download\n\n| Platform | Download | Notes |\n|----------|----------|-------|\n| **macOS** (Apple Silicon) | [`.dmg`](https://github.com/matt1398/claude-devtools/releases/latest) | Download the `arm64` asset. Drag to Applications. On first launch: right-click → Open |\n| **macOS** (Intel) | [`.dmg`](https://github.com/matt1398/claude-devtools/releases/latest) | Download the `x64` asset. Drag to Applications. On first launch: right-click → Open |\n| **Linux** | [`.AppImage` / `.deb` / `.rpm` / `.pacman`](https://github.com/matt1398/claude-devtools/releases/latest) | Choose the package format for your distro |\n| **Windows** | [`.exe`](https://github.com/matt1398/claude-devtools/releases/latest) | Standard installer. May trigger SmartScreen — click \"More info\" → \"Run anyway\" |\n| **Docker** | `docker compose up` | Open `http://localhost:3456`. See [Docker deployment](#docker--standalone-deployment) |\n\n---\n\n## Key Features\n\n### Context Reconstruction\n\n\u003cimg width=\"100%\" alt=\"context\" src=\"https://github.com/user-attachments/assets/9ff4a5a7-bcf6-47fb-8ca5-d4021540804b\" /\u003e\n\nPer-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.\n\n### Compaction Visualization\n\n\u003cvideo src=\"https://github.com/user-attachments/assets/25281f09-05ed-4f81-97bc-7b1754b08b06\" controls=\"controls\" muted=\"muted\" style=\"max-width: 100%;\"\u003e\u003c/video\u003e\n\nSee the moment your context hits the limit. Visualizes how context fills, compresses, and refills — so you know exactly what was lost.\n\n### Notification Triggers\n\n\u003cvideo src=\"https://github.com/user-attachments/assets/3b07b3b4-57af-49ed-9539-be7c56a244f5\" controls=\"controls\" muted=\"muted\" style=\"max-width: 100%;\"\u003e\u003c/video\u003e\n\nSystem notifications for `.env` access, tool errors, high token usage, and custom regex patterns on any field.\n\n### Tool Call Inspector\n\nEvery tool call expanded with specialized viewers — syntax-highlighted Read calls, inline Edit diffs, Bash output, and full subagent trees.\n\n### Team \u0026 Subagent Trees\n\nIsolated execution trees per agent with tool traces, token metrics, duration, and cost. Nested agents render recursively.\n\n### SSH Remote Sessions\n\nInspect sessions on any remote machine over SSH. Reads `~/.ssh/config`, supports agent forwarding and key auth.\n\n### Command Palette \u0026 Multi-Pane Layout\n\n**Cmd+K** for cross-session search. Open multiple sessions side-by-side with drag-and-drop tabs.\n\n---\n\n## Not a Wrapper\n\nclaude-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.\n\n---\n\n## Docker / Standalone Deployment\n\nRun without Electron — in Docker, on a remote server, or anywhere Node.js runs.\n\n```bash\ndocker compose up\n# Open http://localhost:3456\n```\n\nOr manually:\n\n```bash\ndocker build -t claude-devtools .\ndocker run -p 3456:3456 -v ~/.claude:/data/.claude:ro claude-devtools\n```\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `CLAUDE_ROOT` | `~/.claude` | Path to the `.claude` data directory |\n| `HOST` | `0.0.0.0` | Bind address |\n| `PORT` | `3456` | Listen port |\n\nThe 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](SECURITY.md).\n\n---\n\n## Development\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eBuild from source\u003c/strong\u003e\u003c/summary\u003e\n\n\u003cbr /\u003e\n\n**Prerequisites:** Node.js 20+, pnpm 10+\n\n```bash\ngit clone https://github.com/matt1398/claude-devtools.git\ncd claude-devtools\npnpm install\npnpm dev\n```\n\n| Command | Description |\n|---------|-------------|\n| `pnpm dev` | Development with hot reload |\n| `pnpm build` | Production build |\n| `pnpm typecheck` | TypeScript type checking |\n| `pnpm test` | Run all tests |\n| `pnpm check` | Full quality gate (types + lint + test + build) |\n\n\u003c/details\u003e\n\n---\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. Please read our [Code of Conduct](CODE_OF_CONDUCT.md).\n\n## Security\n\nIPC handlers validate all inputs with strict path containment checks. File reads are constrained to the project root and `~/.claude`. See [SECURITY.md](SECURITY.md).\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatt1398%2Fclaude-devtools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatt1398%2Fclaude-devtools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatt1398%2Fclaude-devtools/lists"}