finds.dev← search

// the find

simonw/claude-code-transcripts

★ 1,691 · Python · Apache-2.0 · updated Feb 2026

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →