it holds at scale
2.5×
Give both systems five times as much to remember and the lead barely moves: 57.0% against 23.0%. It does not fall apart as memory grows.
memory kernel · local-first · AGPL-3.0
A real-time ledger of everything your agent observes, and a belief layer derived from it. When something changes, the new value supersedes the old one instead of overwriting it, so the agent can tell you what it currently believes, what it used to believe, and which observation changed its mind.
01 · the difference
The same two messages, the same question, eight months later. One of these answers goes out to a stranger with your name on it.
what you told it
“I'm a software engineer at Stripe.”
“I left Stripe. I'm at Anthropic now.”
Existing memory stores
“A software engineer at Stripe.”
Eight months out of date. Both facts sit in the store with equal standing, so the agent returns whichever one the search happens to surface first, and it has no way to know the other one exists.
reMem
“A software engineer at Anthropic.”
Current, and it can show its work. Stripe was marked superseded the moment you said you left, and kept. Ask why and reMem points at the exact message that changed its mind.
02 · results
Head to head against mem0 on a benchmark built from facts that get corrected partway through.
3×
improvement over mem0
45.0% against 15.0%. Three times as many questions answered correctly when the answer turns on a fact that was later corrected.
it holds at scale
2.5×
Give both systems five times as much to remember and the lead barely moves: 57.0% against 23.0%. It does not fall apart as memory grows.
cost per memory
0
Zero cost to save or recall a memory. Neither one ever calls a model, so there is no per-message bill, no added latency and no rate limit. Only consolidation uses a model, once at the end of a session.
every answer has a receipt
100% traceability
Every single thing reMem believes is linked to the actual message you said it in. Ask why, and it shows you. Nothing is invented, because nothing without a source is ever stored.
03 · why it wins
Memory layers tend to do one of two things with a contradiction, and both lose something you need.
The store now holds the new value and nothing else. Nothing can explain why the answer changed, and if the update was wrong there is no earlier state to fall back to. You cannot audit what you cannot see.
Both values sit in the store with equal standing, so retrieval returns whichever one happens to embed closest to the query. The agent confidently reports a fact that stopped being true months ago.
reMem does neither. The old value stays on the record, marked, with the observation that replaced it still attached.
04 · how it works
Almost every failure mode of a memory system comes from collapsing those two into one mutable store. Observations are never updated or deleted. Beliefs are derived, confidence-scored, scoped, and always point back to the observations that justify them.
01
Appends to the ledger. Synchronous, no model call, nothing to get wrong.
02
A model proposes typed belief operations. A deterministic reducer disposes. No unbounded model mutation of state.
03
Mutable, scoped, decaying, provenance-linked. A contradiction marks the prior belief superseded rather than deleting it.
04
A scoped, ranked, compact context pack. It abstains rather than guessing.
One SQLite file and a local embedder by default. No vector database, no graph database, no services to run. Back it up by copying it, and the model of your user can live entirely on your own machine.
A bundled viewer shows every belief the kernel holds, the value it replaced, and the messages both came from, updating live in your browser as your agent works.
05 · use it
npm i remem-kernel
Eight methods: observe, consolidate, decay, recall, why, beliefs, forget, export.
claude mcp add remem -- \
npx -p remem-kernel remem-mcp
One command, nothing to edit by hand. Your agent gets seven
tools: recall, remember, beliefs and why for what memory holds; search,
observation and history for what happened. Any other MCP client can run the
same npx command as a stdio server.
npm i -g remem-kernel
claude plugin marketplace add \
"$(npm root -g)/remem-kernel"
claude plugin install remem@remem
Restart Claude Code and it starts remembering on its own:
your messages and the files you touch go to the ledger as you work, beliefs are
consolidated when the session ends, and the next session opens already knowing
them. Already using claude-mem? remem-import brings it across in
one command.
npx -p remem-kernel remem-viewer
Prints a link like
http://localhost:37800. It opens on the ledger: everything you have
said, newest first, with what memory believes above it. Click anything to see it
in full and what it led memory to conclude. Leave it open in a tab while you
work.