Persistent memory plugin for Claude Code
npx claudepluginhub edimuj/claude-mnemeAutomatic session memory for Claude Code — every session picks up where the last one left off
Persistent memory for Claude Code — so every session picks up where the last one left off
Install • What You Get • Commands • Configuration • How It Works • Sync Server
Every Claude Code session starts from zero. Claude doesn't know what you were working on yesterday, which architectural decisions you've already made, or that you tried and rejected approach X last week.
You end up repeating context, re-explaining decisions, and watching Claude suggest things you've already ruled out.
Claude Mneme fixes this. It silently captures your sessions and injects the right context when you start a new one — project state, key decisions, recent work, and anything you've explicitly told it to remember. ~2,000 tokens of signal, zero effort from you.
claude plugin marketplace add edimuj/claude-mneme
claude plugin install claude-mneme@claude-mneme
Restart Claude Code. That's it — Mneme starts working automatically.
When you start a new session, Mneme injects a structured memory summary. Here's what that looks like in practice:
<claude-mneme project="my-saas-app">
Session started: 09:15 | Last session: Feb 10, 17:42 (15 hours ago)
## Last Session
**Working on:** Fix the Stripe webhook race condition
**Done:** Added idempotency key check before processing payment events
**Open:** Write integration test for duplicate webhook scenario
## Project Context
SaaS billing app with Stripe integration, PostgreSQL, Express backend.
Multi-tenant with per-org billing.
## Key Decisions
- Stripe webhooks over polling — real-time, less API usage
- PostgreSQL advisory locks for payment processing — prevents double-charges
- JWT auth with Redis session store — fast validation, easy revocation
## Current State
- Webhook handler: Implemented with idempotency checks
- Billing dashboard: In progress — invoice list done, usage charts pending
- Multi-currency support: Planned
## Recent Work
- [Feb 8] Fixed webhook signature verification for test environment
- [Feb 7] Added org-level billing isolation
## Recently Active
- `webhook-handler.ts` [worked on] (3x this week)
- `billing-service.ts` [worked on, discussed] (5x this week)
- `handlePaymentIntent` [worked on] (2x this week)
</claude-mneme>
Claude reads this context and immediately knows: what the project is, what decisions have been made (and why), what you were doing last session, and which files are hot right now. No "let me explore the codebase first" — it just picks up where you left off.
Temporal awareness — Claude Code has no sense of time between sessions. Mneme injects the current time and when you last worked on the project, so Claude knows whether your "last session" was 20 minutes ago or 3 days ago. Small detail, big difference in how it reasons about staleness and continuity.
| Approach | Limitation |
|---|---|
| MEMORY.md (built-in) | Manual. You write and maintain it yourself. No automatic capture |
| Heavy RAG/vector solutions | Complex setup, high token cost, often retrieves noise over signal |
| Claude Mneme | Automatic capture, structured summarization, ~2K tokens at startup. Configurable if you want more |
Mneme sits in the middle: enough memory to be genuinely useful, lightweight enough that you forget it's there.
/remember — Save persistent context/remember This project uses pnpm, not npm
/remember The auth system uses JWT tokens stored in Redis
/remember Tried Redis caching but serialization overhead made it slower
Remembered items are never auto-summarized — they persist until you remove them.
/forget — Remove remembered items/forget my preference about tabs # AI finds matching entries
/forget # Lists all entries to choose from
/entity — Query the knowledge index/entity auth.ts # What does Mneme know about this file?
/entity handleLogin # Find references to a function
/summarize — Force summarization/summarize # Compress the log now
/summarize --dry-run # Preview what would be summarized