// the find
simonw/claude-code-transcripts
Tools for publishing transcripts for Claude Code sessions
A CLI that converts Claude Code session transcripts (local JSONL files or sessions pulled from the Claude API) into paginated, mobile-friendly HTML you can browse or share. Aimed at developers who want to publish or archive their AI pairing sessions, à la Simon Willison's own blog write-ups.
Three separate input paths (local sessions, web API sessions, raw JSON/JSONL files) cover most ways a transcript could end up on disk, plus an `all` command for bulk-archiving an entire `~/.claude/projects` tree into a browsable index. Rendering is snapshot-tested per content-block type (tool calls, thinking blocks, images, commit links, errors) rather than just end-to-end, so regressions in specific block rendering get caught. The `--gist` flow chains into `gh` and gisthost.github.io to get a shareable URL with zero hosting setup, and it auto-detects the git repo for commit linking instead of requiring `--repo` every time.
The `web` subcommand is currently broken by the README's own admission — it depends on an unofficial, undocumented Claude API that changed underneath it (issue #77), so half the pitch (import sessions directly from the API) doesn't work right now. Credential handling for `web` is macOS-keychain-only; everyone else has to hand-supply `--token`/`--org-uuid`, which is awkward and a little concerning to pass around on the command line. `--gist` silently requires an external dependency (`gh`, authenticated) rather than using the GitHub API directly, so it fails in environments without the CLI installed. It's a single-maintainer tool with no plugin/extension points visible in the tree — if your session format or rendering needs diverge from Simon's use case, you're forking rather than configuring.