All head-to-heads

Directory · head to head

Claude Code vs claude-mem

How their memory differs, from each one’s entry in the directory.

In the directory, which sorts systems by whose memory they hold, Claude Code memory is filed under “Work & project memory” (also “Memory about you”); claude-mem under “Work & project memory”. Claude Code memory is closed source and keeps memory on your machine; claude-mem is open source and can keep memory on your machine or in its maker's cloud. Of the 11 mechanisms of human memory, Claude Code memory has 0 built, 8 partly, 2 not, 1 not known; claude-mem has 0 built, 5 partly, 6 not, 1 in development. Neither has fully built any of the 11. Both have partly built Salience, Association, Prospective and Gist. Only Claude Code memory has partly built Interference, Consolidation, Reconsolidation and Schemas. Only claude-mem has partly built Forgetting. Neither has built Retrieval (claude-mem: more in development). Not known for Claude Code memory, as its makers' docs don't say: Emotion. claude-mem hasn't built it.

Measured against human memory

Claude Code memory0 built, 8 partly, 2 not, 1 not known

claude-mem0 built, 5 partly, 6 not

built today in developmentLonger = more of it built: a little, partly, built, in depth

Side by side

EncodingStorageRetrievalTransformationbuiltpartlyin developmentnot builtnot known
Claude Code memoryclaude-mem
At a glance
Whose memoryWork & project memoryWork & project memory
Memory livesYour machine (plain files)Your machine (cloud sync optional)
API keysA Claude plan login, an API key, or a cloud providerNone on your Claude plan; or a CMEM Pro, Gemini or OpenRouter key
Works withClaude Code CLI, VS Code, Claude desktop app, Agent SDK, AGENTS.md filesClaude Code, Codex, Cursor, OpenCode, OpenClaw, MCP tools
LicenseClosed sourceProprietary (Anthropic Commercial Terms)Open sourceApache-2.0
PriceComes with Claude Pro, Max, Team or Enterprise, or pay per use with an API keyFree; hosted Pro $20–30/mo
Under the hood
Who writes memoriesYou write CLAUDE.md files. Claude writes its auto memory notes itself during the session, deciding what will be useful next time and skipping what the code already shows.A separate “observer” AI (Claude Haiku by default) watches each tool step and writes notes, plus a summary after each reply. The AI you talk to doesn't write them.
Where they're keptMarkdown files: CLAUDE.md in your project and home folder, and a per-project memory folder under ~/.claude with a MEMORY.md index and one file per note.A SQLite database on your machine, with a local Chroma index for meaning-based search. Optional sync to their cloud.
How they're foundNo search engine. CLAUDE.md and the index load at the start; nested CLAUDE.md files and path rules load when Claude reads matching files; Claude opens notes with its normal file tools.The newest 50 notes and recent summaries are shown at the start. After that, Claude searches by keywords or meaning, looks at what happened around a note, and opens the ones it needs.
Extra AI callsNo separate AI call is documented: notes are written by the same Claude, as part of the session, using the context they take up.Yes: observer calls as you work, plus a summary each reply. They run on your Claude plan, your own key, or their hosted observer.
Measured against human memory
Claude Code memoryclaude-mem
Of the 110 built, 8 partly, 2 not, 1 not known0 built, 5 partly, 6 not · 1 in development
Encoding
SalienceDecides what's worth keeping, and how much, as a memory is written.

partly built

Claude decides what’s worth saving and sorts notes into four kinds, skipping what the code already shows. There’s no importance score. source

partly built

The observer is told what's worth recording and to skip routine steps, and it labels each note (bugfix, decision…). There's no importance score. source

EmotionGives memories written with feeling more weight.

not known

The docs describe four kinds of note and never mention weighting by feeling.

not built

No emotional weighting. Notes are sorted by the kind of work, not by feeling.

Storage
ForgettingLets unused memories fade over time on its own.

not built

Notes stay until you or Claude edit or delete them, and they’re kept out of the old-transcript cleanup. The 200-line index cap is a size limit, not fading. source

partly built

Nothing fades note by note, but meaning-based search only looks back 90 days by default, and the start of a session shows just the newest notes. source

InterferenceWhen a new memory closely matches an old one, notices and lets the newer one win.

partly built

Each note carries its last-changed date, and when the index gets long Claude is told to merge or drop stale entries. Old and new are sorted out by Claude’s judgement. source

not built

Exact copies within a session are dropped, but a newer note that contradicts an older one is simply stored beside it. source

Retrieval
RetrievalRemembering something makes that memory stronger.

not built

Notes load by their place in the index or when Claude opens them. The only date kept is when a note was last written, so reading one doesn’t strengthen it. source

not builtin development

Being found doesn't strengthen a note. A usage counter exists in the database, but nothing updates it yet. source

Their open fix plan (issue #3609) says the counter will go up each time a note is recalled.

AssociationLinks memories, so recalling one brings its neighbours.

partly built

The always-loaded index works as signposts to the notes behind it. There are no automatic links between notes. source

partly built

Notes are tied to their files and their moment in a session, and a timeline tool brings up what happened just before and after one. Notes aren't linked to each other. source

ProspectiveBrings a memory back at the right time without being asked.

partly built

Folder CLAUDE.md files and path rules come back on their own when Claude touches matching files, but only for rules you wrote. Its own notes wait to be opened. source

partly built

When Claude opens a file it has notes on, that file's history is added on its own. There are no reminders for a set time. source

Transformation
ConsolidationReworks memories between sessions: strengthening, merging, reorganising.

partly built

Claude tidies the index when it nears its size limit, moving detail into topic files and merging entries, but during a session. No pass between sessions is documented. source

not built

Nothing reworks notes between sessions. A summary is written after each reply, but old notes stay as first written.

ReconsolidationCorrects a memory when it's contradicted, and keeps what it used to say.

partly built

Claude edits a note in place when things change and the date updates, but the docs describe no history of what it said before. source

not built

Nothing corrects an old note when it's contradicted; old and new sit side by side.

GistTurns many specific moments into general knowledge.

partly built

Notes are lessons drawn from sessions (corrections, approaches you confirmed), written by Claude rather than a separate mechanism. source

partly built

Each reply's summary records what was learned, and on request a “knowledge agent” answers questions from hundreds of notes at once. No lasting general lessons are written. source

SchemasForms beliefs about people and projects, and weighs new facts against them.

partly built

Notes about you and the project are read every session and shape how it works, but new facts aren’t explicitly weighed against them. source

not built

No beliefs about people or projects. An optional CLAUDE.md per folder lists recent activity, not conclusions.

The same table on the compare page, where you can add other systems.

Everything above comes from the two entries in the directory’s public data: Claude Code memory checked 2026-09-29; claude-mem checked 2026-09-29.

Something wrong? Edit on GitHub: Claude Code memory · claude-mem, or tell us what to fix.