claude-devtools

Reading Claude Code session transcripts

Claude Code records every session as JSONL in ~/.claude/. claude-devtools parses these transcripts into a chronological conversation with per-tool renderers and cross-session search.

Every Claude Code session is recorded as a JSONL transcript in ~/.claude/. Each line is a message: user prompt, assistant response, tool call, tool result, or system event. Raw transcripts are unreadable — thousands of lines of escaped JSON with embedded system prompts.

claude-devtools parses these session transcripts and renders them as a chronological conversation view with:

  • Chronological turn navigation — jump to any message in the session
  • Specialized renderers per tool — syntax-highlighted Read, inline Edit diffs, Bash output
  • Expandable sections — collapse/expand thinking, tool I/O, subagent trees
  • Cross-session search — find any message across every transcript (Cmd+K)
  • Live updates — sessions still running tail in real time as new turns arrive

You can export a rendered transcript as Markdown, JSON, or plain text for sharing or archiving.

If you'd rather understand the JSONL format directly — for example to write your own tooling — see the anatomy of a Claude Code transcript.

Star on GitHub

On this page