A Stack-Overflow-style knowledge base for your Claude Code debugging sessions.
When you debug something hard with Claude Code, you usually solve it once and then forget the details. Next month, when the same problem hits again, Claude reasons from scratch and you watch the same dance for the third time.
Remembug captures the moment you fix something — the failure, what you tried, what worked — and stores it locally as a Q&A entry you can search. It exposes that knowledge back to Claude Code via MCP, so the next time Claude sees a similar error it can pull the answer instead of guessing.
No accounts. No servers. No telemetry. All your data lives in ~/.remembug/remembug.db.
npm install -g @remembug/cli
remembug init
remembug config set anthropic-key sk-ant-...
remembug daemon startThat's it. Use Claude Code normally — Remembug watches for failures and resolutions, drafts entries on the side, and queues them for your review.
$ remembug daemon start
[remembug] daemon listening on http://127.0.0.1:7842
$ # ...use Claude Code, fail on something, solve it...
$ remembug review
(1/2) Fix EADDRINUSE when running multiple vitest workers
tags: vitest, eaddrinuse, ports
stack: node@20, vitest@2
— problem —
Vitest workers fail to bind to a port when more than one suite runs
in parallel...
[a]ccept [r]eject [e]dit [n]ext [q]uit
> a
published 3f8a91b2
$ remembug search "vitest port already in use"
[0.842] Fix EADDRINUSE when running multiple vitest workers (id: 3f8a91b2-...)
tags: vitest, eaddrinuse, ports
Vitest workers fail to bind to a port when more than one suite runs in parallel
Claude Code
┌─────────────────────────────┐
│ tool use → failure │ ┌───────────────────┐
│ ↓ (PostToolUse hook) │ │ Remembug daemon │
│ tool use → success │ ─POST──▶ │ (127.0.0.1:7842) │
│ ↓ (Stop hook) │ │ │
└─────────────────────────────┘ │ span detector │
│ scrubber │
│ drafter (LLM) │
│ ↓ SQLite store │
└────────┬──────────┘
│
┌────────▼──────────┐
│ remembug review │
│ (Ink TUI) │
└────────┬──────────┘
│
┌────────▼──────────┐
┌─────────────────────────────┐ │ MCP server │
│ Claude Code (next session) │ ◀─stdio─▶ │ remembug.search │
│ "I hit this error before" │ │ remembug.get │
└─────────────────────────────┘ │ remembug.feedback │
└───────────────────┘
See docs/architecture.md for the full design.
- Capture without thinking: Remembug listens to Claude Code's
PostToolUseandStophooks. You don't change your workflow. - Privacy by default: every captured transcript goes through a three-layer secret scrubber before it ever reaches the LLM or disk.
- Human-in-the-loop review: drafts are queued and only become searchable once you accept (or edit) them.
- Hybrid search: BM25 keyword + vector similarity, biased by your project's stack.
- BYO LLM key: Anthropic by default; provider interface ready for Ollama/OpenAI.
- Apache 2.0 licensed. Fork, self-host, ship it inside your company. Team-sync server scaffold ships in v0.2.
- Quickstart — zero to first captured entry in 5 minutes
- Architecture — the design doc
- Privacy — what's scrubbed, what's not, what the LLM sees
- Claude Code integration — hooks + MCP wiring
- Contributing — local dev, tests, where to start
v0.1 (solo mode): functional. Single developer, all data local, zero infra.
v0.2 (team mode): scaffolded but not implemented — see packages/server/ and the v0.2 issues.