Every Claude Code session starts fresh. That's fine at first, but 1,000+ sessions in, I had weeks of decisions technically on disk and practically unreachable. The sessions live in ~/.claude/projects/ as raw JSONL packed with tool calls and thinking blocks—readable in theory, but nobody is trawling through that.
I built qrec: a local session recall tool that strips the noise, indexes everything with hybrid search (BM25 + semantic + RRF), and lets a Claude Code agent retrieve past decisions on demand. No tokens spent; your data stays on your machine.
The use case I didn't design for ended up being the most useful: context handoff. Deep in a 200-turn session about to hit the context limit, I opened a fresh one and typed "pick up context from the previous session." It came back with the exact decision we'd been circling, and we continued at ~15% context usage.
The full post covers what I tried first (QMD, claude-mem), the bets I made on transparency and local-only execution, and—honestly—why the eval is still unsolved.
Top comments (0)