{"repo":"S40911120/recensa","free":true,"listed":false,"github":"https://github.com/S40911120/recensa","clone":"git clone https://github.com/S40911120/recensa.git","description":"Self-hosted web viewer for Claude Code session transcripts — read, search, replay, and audit every session you have ever run","language":"TypeScript","stars":69,"topics":["claude","claude-code","docker","self-hosted","viewer","agents","ai-agents","anthropic","chat-history","conversation-history"],"license":"MIT","category":"ai-agents","readme_excerpt":"Recensa See what your agents actually did. A self-hosted viewer for your Claude Code session transcripts — read, search, replay, and audit every session you have ever run. Your transcripts stay on your machine; nothing is uploaded anywhere. = 22\" Quick start · Tour · Why · Themes · Security · Architecture · Contributing Every Claude Code session you run is written to disk as raw JSONL under /.claude/projects/ — the full conversation, every tool call, the model's thinking, every subagent it spawned. Then it just sits there, unreadable. Want to know how you fixed that bug last month? What that 40-minute agent run actually changed? Which of your prompts sent it down a dead end? Good luck grepping. Recensa indexes those transcripts into a local SQLite database and serves a three-pane reader at http://localhost:7788 . Reading never modifies your transcripts, and the index is a disposable cache you can rebuild at any time. Quick start You need Docker (Docker Desktop on Windows/macOS; Docker Engine with Compose v2 on Linux) and a /.claude directory with some sessions in it. Rootless Docker and Podman work too — uid alignment is automatic. Give the container 1 GB of memory headroom for the first big index. Try it — run the prebuilt image straight from Docker Hub: On Linux, /.claude/projects is created owner-only (700/600) by the host CLI, so the container needs a matching uid/gid to read it — it detects this on its own from the mount, no flags required (override with -e PUID=... -e P","default_branch":null,"files":null,"tree":[],"storefront":"/r/S40911120","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/S40911120/recensa/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}