Open source · MIT · Node.js built-in SQLite
Persistent memory
for Claude Code
Claude forgets everything between sessions. claude-memory fixes that — locally, privately, instantly.
Every session starts cold
Three things that slow down every developer who uses Claude Code:
- Cold start, every time. You explain the same architecture, the same conventions, the same deployment steps — every single session. Claude has no memory.
- Lost decisions. You decided to use Drizzle instead of Prisma for a good reason. Three weeks later, Claude is suggesting Prisma again. The context is gone.
- Repeated context. Every new chat: "This is a Next.js 15 project, we use Tailwind, ESLint config is at .eslintrc.json..." The same 200 words, every time.
Install in 30 seconds
Add to your Claude Code config. No account, no API key, no cloud.
~/.claude.json
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@gilligan-tech/claude-memory"]
}
}
}
Restart Claude Code. Done. Your memory database lives at ~/.claude-memory/memory.db — local SQLite, never leaves your machine.
Or install globally: npm install -g @gilligan-tech/claude-memory
then use "command": "claude-memory"
Five tools
Claude Code calls them automatically — or you ask it to.
| Tool | What it does |
|---|---|
memory_bootstrap |
Load all memories for a project at session start. Call this first. |
memory_save |
Persist a note, decision, rule, or architecture fact. |
memory_recall |
Search memories by keyword using full-text search (FTS5 + BM25 ranking). |
memory_update |
Correct an existing memory when things change. |
memory_delete |
Remove a memory that's no longer relevant. |
Use type to categorize: rules, architecture, deploy, decision, preference, note.
Use repo to scope memories to a project, or leave empty for globals that appear in every project.
How it works
Dead simple. No vectors, no embeddings, no cloud calls.
Tell Claude something worth keeping. It calls memory_save.
Stored in ~/.claude-memory/memory.db on your machine.
Next session calls memory_bootstrap. All context restored.
Search uses SQLite FTS5 (full-text search with BM25 ranking) — fast, offline, and built into Node.js 22+. No OpenAI embeddings. No Qdrant. No API calls. Everything runs on your laptop.