A keyboard-driven TUI for browsing Claude Code session history.
brew install zpenka/lore/loreRequires Claude Code — lore reads the session transcripts it writes to ~/.claude/projects/.
Alternative (Go toolchain):
go install github.com/zpenka/lore/cmd/lore@latestlore gives you a fast, keyboard-driven interface to browse, search, and re-run your Claude Code sessions:
- Session list with relative-time bucketing, project/branch/fuzzy filters, and bookmark support
- Session detail with collapsible tool turns, diff rendering for edits, and sidechain expansion for Agent turns
- Full-text search backed by SQLite FTS5 (linear-scan fallback)
- Project view grouped by branch
- Re-run — replay any user prompt in the original working directory
- Usage stats — token counts and estimated cost per session
- Timeline heatmap — 8-week activity grid; click a day to filter the list
Press ? in any mode for the full keymap. Highlights:
- List:
j/kmove,d/uhalf-page,g/Gjump,enteropen,Rresume,p/bfilter project/branch,ffuzzy filter,mbookmark,Mbookmark-only filter,Pproject view,/search,Susage stats,Ttimeline heatmap,qquit. - Detail:
d/uhalf-page,spaceexpand a tool turn (Agent turns with sidechains load the sub-conversation inline),ycopy the nearest user prompt,rre-run that prompt,Rresume session,mbookmark this session,/search,esc/q/h/←back. - Search: type →
enterto run,j/kord/uthrough hits,enterto open,esc/q/h/←back. Supportsproject:<name>andbranch:<name>prefix filters, e.g.project:lore refresh token. - Project:
j/k,d/u,enterto open,esc/q/h/←back. Sessions are grouped by branch. - Re-run:
enterto spawnclaudewith the chosen prompt and CWD;esc/q/h/←to cancel. - Stats:
j/k,g/Gto navigate;esc/q/h/←back. Columns: project · branch · model · input/output tokens · estimated cost. - Timeline:
h/←andl/→move the cursor across days in an 8-week activity heatmap;enterfilters the list to the highlighted day;esc/qback.
lore reads sessions from ~/.claude/projects/ by default. Override with either:
--dir <path>flag (highest precedence)LORE_PROJECTS_DIRenvironment variable
The FTS5 search index and bookmarks file are cached under the platform user cache dir (~/.cache/lore/ on Linux, ~/Library/Caches/lore/ on macOS). Override with:
LORE_CACHE_DIRenvironment variable
The token pricing table (used in the stats panel) is embedded as pricing.json and can be overridden with:
LORE_PRICING_FILEenvironment variable (path to a JSON file with the same schema — useful for enterprise rates)
See CLAUDE.md for development setup, architecture, TDD requirements, and the agent contract.
Full product vision and roadmap: DESIGN.md