Unified discovery
Every session across every project, grouped and color-coded — with Claude's own AI titles instead of raw UUIDs.
ClaudeKeep finds every session across all your projects, surfaces real titles and token spend, and lets you rename, move, export and clean them up — running entirely on your machine.
Claude Code quietly stores every conversation as .jsonl logs under ~/.claude/projects — undocumented, hard to browse, and easy to lose track of. ClaudeKeep turns that pile into a clean, searchable workspace.
Browse, understand and tidy up months of Claude Code sessions — without ever touching a UUID.
Every session across every project, grouped and color-coded — with Claude's own AI titles instead of raw UUIDs.
Estimated spend, token breakdown, cost-by-model, tool usage and an activity heatmap — computed from the usage your sessions already record.
Hit ⌘K to jump to any session, run an action, or full-text search inside conversations with highlighted snippets.
Pin what matters, filter to Pinned / Empty / Large, and copy a ready-to-run claude --resume command in one click.
One click to clean Markdown, JSON or plain text. Paste a full transcript into claude.ai and pick the conversation back up.
Rename, move, clear and delete — every destructive action backs up first, confirms twice, and never overwrites.
ClaudeKeep reads the usage recorded on every assistant turn and prices it against the current Claude rate card — input, output, and the cache-read / cache-write split — to give you a grounded estimate of spend per model, per project, and over time.
No build step, no pip install, no account. Just Python 3.8+ and your terminal.
git clone https://github.com/ayushkcs/ClaudeKeep.git
cd ClaudeKeeppython3 server.pyStdlib only — it binds to 127.0.0.1 and opens your browser automatically.
http://127.0.0.1:8765Your sessions appear instantly. Nothing leaves your machine.
Prefer not to clone? Download the ZIP from GitHub, unzip it, and run python3 server.py inside the folder — same result.
ClaudeKeep is deliberately conservative. It reads your real session files, so it treats them with care.
Binds to 127.0.0.1 and rejects non-local hosts. No cloud, no network, no telemetry.
Every move, clear and delete copies the file into a timestamped backups/ folder before touching anything.
Every path is resolved and verified to stay inside ~/.claude/projects. Deletes require a typed confirmation.
The on-disk format is undocumented; ClaudeKeep adapts to what it finds and is fully recoverable from backups if a Claude update changes it.
No. It runs a local server on 127.0.0.1 with no external requests of any kind. Your conversations stay on disk, on your machine.
No. The backend is pure Python standard library and the frontend is vanilla HTML/CSS/JS — no pip install, no Node, no build step.
It's built to avoid exactly that: read-only by default, a backup before every destructive action, conflict detection on moves, and a typed confirmation before deletes.
They're careful estimates from each turn's recorded token usage, priced against the current Claude rate card (including the 5-minute vs 1-hour cache-write split). Actual billing also depends on plan and tier.
No — it's an independent, open-source tool that reads Claude Code's local files. The storage format is unofficial and could change between Claude Code versions.
Clone it, run one command, and see every session in a workspace that's actually nice to use.
git clone https://github.com/ayushkcs/ClaudeKeep.git && cd ClaudeKeep && python3 server.py