it reads the session files that claude writes locally, so works on a single local machine only, and breaks if you move a repos around on the same machine.
I built this because Claude Code stores sessions in per-project directories (~/.claude/projects/*/), but there's no built-in way to see all your sessions across projects or quickly jump back into one.
cc-sessions solves this by:
- Scanning all project directories in parallel (Rust + rayon)
- Showing sessions sorted by last modified with relative timestamps
- Interactive fzf picker with transcript preview (-i flag)
- Project filtering (-p dotfiles)
- Fork mode to branch off from any session (-f flag)
Technical details: ~350 lines of Rust, no chrono dependency (hand-rolled ISO 8601 parser to keep the binary small), reads from Claude's sessions-index.json files rather than parsing the .jsonl transcripts directly.