Persistent memory for Claude Code. Bring your own database.
README
Persistent memory for Claude Code. Bring your own database.
Documentation · Quick start · CLI reference
You spent an hour yesterday explaining why the store uses three adapters, which approach you already tried and abandoned, and why that one function must not be touched. Today Claude knows none of it. So you explain it again.
claude-db fixes that, and the other half too. Claude re-derives your codebase every time, grepping a name and opening files to work out what calls what.
$ claude-db search "why does capture read the transcript"
83cf1246-eb14 decision 2026-08-19 Tested and written up.
…the old defaults prompt was now cut why does capture read the transcript…
88fab24f-5e59 decision 2026-08-19 Finding 4's other half needs checking…
…cannot work: 0.029483 "why does capture read…" <- highly relevant…
You never run that command. Claude gets the same context injected on every prompt, so it walks in already knowing. Nothing leaves your machine.
npm install -g claude-db
cd your-project
claude-db install --project
Restart Claude Code. That's it: capture and recall are hooks, so they run without being asked.
--project scopes to one repo instead of every project on the machine. It
writes .claude/settings.local.json and .mcp.json. Add .mcp.json to your
.gitignore, since it holds a machine-specific path.
Memory fills itself as you wor