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.

Session A
You save

Tell Claude something worth keeping. It calls memory_save.

Storage
Local SQLite

Stored in ~/.claude-memory/memory.db on your machine.

Session B
Claude loads

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.

Get started now

MIT license. No telemetry. No vendor lock-in.