The missing DevTools for Claude Code — inspect session logs, tool calls, token usage, subagents, and context window in a visual UI. Free, open source.
Repo: matt1398/claude-devtools
What's inside
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.
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.
brew install --cask claude-devtools
| 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 |
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.
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.
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.
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)
System notifications for .env access, tool errors, high token usage, and custom regex patterns on any field.
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
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.
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.
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) |
See CONTRIBUTING.md for guidelines. Please read our Code of Conduct.
IPC handlers validate all inputs with strict path containment checks. File reads are constrained to the project root and ~/.claude. See SECURITY.md.
.claude/
agents/
claude-md-auditor.md
quality-fixer.md
commands/
devtools/
chatgroup-architecture.md
design-system.md
explain-visible-context.md
markdown-search-logic.md
navigation-scroll.md
rules/
react.md
tailwind.md
testing.md
settings.json
.dockerignore
.editorconfig
.gitattributes
.github/
FUNDING.yml
ISSUE_TEMPLATE/
bug_report.md
feature_request.md
workflows/
ci.yml
release.yml
.gitignore
.nvmrc
.prettierignore
.prettierrc.json
build/
entitlements.mac.plist
CHANGELOG.md
CLAUDE.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
docker-compose.yml
Dockerfile
electron.vite.config.ts
eslint.config.js
knip.json
LICENSE
package.json
pnpm-lock.yaml
pnpm-workspace.yaml
postcss.config.cjs
public/
compact.mp4
context.png
copy-paste.mp4
demo.mp4
icon.png
memory.png
noti.mp4
README.md
resources/
afterInstall.sh
claude.png
demo.mp4
entitlements.mac.inherit.plist
entitlements.mac.plist
icon.png
icons/
mac/
icon.icns
png/
1024x1024.png
128x128.png
16x16.png
24x24.png
256x256.png
32x32.png
48x48.png
512x512.png
64x64.png
win/
icon.ico
scripts/
notarize.cjs
SECURITY.md
src/
CLAUDE.md
main/
CLAUDE.md
constants/
messageTags.ts
worktreePatterns.ts
http/
config.ts
events.ts
index.ts
memory.ts
notifications.ts
projects.ts
search.ts
sessions.ts
ssh.ts
subagents.ts
updater.ts
utility.ts
validation.ts
index.ts
ipc/
CLAUDE.md
config.ts
configValidation.ts
context.ts
guards.ts
handlers.ts
memory.ts
notifications.ts
projects.ts
search.ts
sessions.ts
ssh.ts
subagents.ts
updater.ts
utility.ts
validation.ts
window.ts
services/
analysis/
ChunkBuilder.ts
ChunkFactory.ts
ConversationGroupBuilder.ts
index.ts
ProcessLinker.ts
SemanticStepExtractor.ts
SemanticStepGrouper.ts
SubagentDetailBuilder.ts
ToolExecutionBuilder.ts
ToolResultExtractor.ts
ToolSummaryFormatter.ts
CLAUDE.md
discovery/
index.ts
MemoryReader.ts
ProjectPathResolver.ts
ProjectScanner.ts
SearchTextCache.ts
SearchTextExtractor.ts
SessionContentFilter.ts
SessionSearcher.ts
SubagentLocator.ts
SubagentResolver.ts
SubprojectRegistry.ts
WorktreeGrouper.ts
error/
ErrorDetector.ts
ErrorMessageBuilder.ts
ErrorTriggerChecker.ts
ErrorTriggerTester.ts
index.ts
TriggerMatcher.ts
index.ts
infrastructure/
ConfigManager.ts
DataCache.ts
FileSystemProvider.ts
FileWatcher.ts
HttpServer.ts
index.ts
LocalFileSystemProvider.ts
NotificationManager.ts
ServiceContext.ts
ServiceContextRegistry.ts
SshConfigParser.ts
SshConnectionManager.ts
SshFileSystemProvider.ts
SshHostResolver.ts
TriggerManager.ts
UpdaterService.ts
parsing/
AgentConfigReader.ts
ClaudeMdReader.ts
GitIdentityResolver.ts
index.ts
MessageClassifier.ts
SessionParser.ts
standalone.ts
types/
chunks.ts
domain.ts
index.ts
jsonl.ts
messages.ts
utils/
contextAccumulator.ts
jsonl.ts
metadataExtraction.ts
openInLauncher.ts
pathDecoder.ts
pathValidation.ts
regexValidation.ts
sessionStateDetection.ts
timelineGapFilling.ts
tokenizer.ts
toolExtraction.ts
preload/
CLAUDE.md
constants/
ipcChannels.ts
index.ts
renderer/
api/
httpClient.ts
index.ts
App.tsx
CLAUDE.md
components/
chat/
AIChatGroup.tsx
ChatHistory.tsx
ChatHistoryEmptyState.tsx
ChatHistoryItem.tsx
ChatHistoryLoadingState.tsx
CompactBoundary.tsx
ContextBadge.tsx
DisplayItemList.tsx
items/
BaseItem.tsx
baseItemHelpers.ts
ExecutionTrace.tsx
linkedTool/
CollapsibleOutputSection.tsx
DefaultToolViewer.tsx
EditToolViewer.tsx
index.ts
ReadToolViewer.tsx
renderHelpers.tsx
SkillToolViewer.tsx
ToolErrorDisplay.tsx
WriteToolViewer.tsx
LinkedToolItem.tsx
MetricsPill.tsx
SlashItem.tsx
SubagentItem.tsx
TeammateMessageItem.tsx
TextItem.tsx
ThinkingItem.tsx
LastOutputDisplay.tsx
markdownComponents.tsx
searchHighlightUtils.ts
SessionContextPanel/
components/
ClaudeMdFilesSection.tsx
ClaudeMdSection.tsx
CollapsibleSection.tsx
FlatInjectionList.tsx
MentionedFilesSection.tsx
RankedInjectionList.tsx
SessionContextHeader.tsx
SessionContextHelpTooltip.tsx
TaskCoordinationSection.tsx
ThinkingTextSection.tsx
ToolOutputsSection.tsx
UserMessagesSection.tsx
DirectoryTree/
buildDirectoryTree.ts
DirectoryTreeNode.tsx
types.ts
index.tsx
items/
ClaudeMdItem.tsx
MentionedFileItem.tsx
TaskCoordinationItem.tsx
ThinkingTextItem.tsx
ToolBreakdownItem.tsx
ToolOutputItem.tsx
UserMessageItem.tsx
types.ts
utils/
formatting.ts
pathParsing.ts
SystemChatGroup.tsx
UserChatGroup.tsx
viewers/
CodeBlockViewer.tsx
DiffViewer.tsx
index.ts
MarkdownViewer.tsx
MermaidViewer.tsx
syntaxHighlighter.ts
CLAUDE.md
common/
ConfirmDialog.tsx
ConnectionStatusBadge.tsx
ContextSwitchOverlay.tsx
CopyablePath.tsx
CopyButton.tsx
ErrorBoundary.tsx
ExportDropdown.tsx
OngoingIndicator.tsx
RepositoryDropdown.tsx
TokenUsageDisplay.tsx
UpdateBanner.tsx
UpdateDialog.tsx
WorkspaceIndicator.tsx
WorktreeBadge.tsx
dashboard/
DashboardView.tsx
layout/
CustomTitleBar.tsx
MiddlePanel.tsx
MoreMenu.tsx
PaneContainer.tsx
PaneContent.tsx
PaneResizeHandle.tsx
PaneSplitDropZone.tsx
PaneView.tsx
SessionTabContent.tsx
Sidebar.tsx
SidebarHeader.tsx
SortableTab.tsx
TabBar.tsx
TabbedLayout.tsx
TabContextMenu.tsx
memory/
frontmatter.ts
FrontmatterCard.tsx
MemoryView.tsx
notifications/
NotificationRow.tsx
NotificationsView.tsx
search/
CommandPalette.tsx
SearchBar.tsx
settings/
components/
index.ts
SettingRow.tsx
SettingsSectionHeader.tsx
SettingsSelect.tsx
SettingsToggle.tsx
hooks/
index.ts
useSettingsConfig.ts
useSettingsHandlers.ts
NotificationTriggerSettings/
components/
AddTriggerForm.tsx
ColorPaletteSelector.tsx
DynamicConfigSection.tsx
GeneralInfoSection.tsx
IgnorePatternsSection.tsx
ModeSelector.tsx
RepositoryScopeSection.tsx
SectionHeader.tsx
TriggerCard.tsx
TriggerCardHeader.tsx
TriggerConfiguration.tsx
TriggerPreview.tsx
hooks/
useAddTriggerFormHandlers.ts
useAddTriggerFormState.ts
useRepositoryLookup.ts
useTriggerCardState.ts
useTriggerForm.ts
index.tsx
types.ts
utils/
constants.ts
trigger.ts
sections/
AdvancedSection.tsx
ConnectionSection.tsx
GeneralSection.tsx
index.ts
NotificationsSection.tsx
WorkspaceSection.tsx
SettingsTabs.tsx
SettingsView.tsx
sidebar/
DateGroupedSessions.tsx
memory/
MemoryEntryPreview.tsx
MemorySection.tsx
OpenInMenu.tsx
SessionContextMenu.tsx
SessionItem.tsx
constants/
cssVariables.ts
layout.ts
teamColors.ts
contexts/
TabUIContext.tsx
useTabUIContext.ts
favicon.png
hooks/
navigation/
utils.ts
useAutoScrollBottom.ts
useKeyboardShortcuts.ts
useTabNavigationController.ts
useTabUI.ts
useTheme.ts
useVisibleAIGroup.ts
useZoomFactor.ts
index.css
... 171 moreFAQ
claude-devtools is a Claude Code plugin with hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.