All head-to-heads

Directory · head to head

Letta vs Mem0

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

In the directory, which sorts systems by whose memory they hold, Letta is filed under “The AI's own memory” (also “Work & project memory”, “Building blocks”); Mem0 under “Building blocks” (also “Memory about you”, “Work & project memory”). Letta is open source and can keep memory on your machine or in its maker's cloud; Mem0 is partly open source and can keep memory on a server you run or in its maker's cloud. Both list TypeScript among what they work with. Of the 11 mechanisms of human memory, Letta has 1 built, 7 partly, 3 not; Mem0 has 7 built, 2 partly, 2 not. Both have built Consolidation (Mem0: cloud only). Only Mem0 has built Forgetting (cloud, opt-in), Interference (cloud only), Retrieval (cloud, opt-in), Association, Reconsolidation (cloud only) and Gist (cloud Pro). Both have partly built Salience and Schemas. Only Letta has partly built Prospective. Neither has built Emotion.

Measured against human memory

Letta1 built, 7 partly, 3 not

Mem07 built, 2 partly, 2 not

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

Side by side

EncodingStorageRetrievalTransformationbuiltpartlyin developmentnot builtnot known
LettaMem0
At a glance
Whose memoryThe AI's own memoryBuilding blocks
Memory livesLetta's cloud, or your machineMem0's cloud, or your own server
API keysAn AI model key, or Letta's cloudA Mem0 key (cloud) or an AI model key (self-hosted)
Works withIts own CLI and app, TypeScript SDK, MCP tools, Claude Code (demo plugin)Python & TypeScript SDKs, Claude Code, Cursor, Codex, LangGraph, CrewAI
LicenseOpen sourceApache-2.0Partly open sourceApache-2.0
PriceFree tier; Pro $20/moFree tier; from $19/mo
Under the hood
Who writes memoriesThe agent itself, as it works, plus background “dreaming” helpers between sessions.A separate AI call reads each conversation and pulls out short facts. The AI you talk to doesn't write them.
Where they're keptMarkdown files in a git repo, on your machine or Letta's cloud.A vector database (about 25 to choose from; Postgres with pgvector self-hosted), plus the names each fact mentions.
How they're foundThe most important files are always in view; the agent opens others by name, and a helper searches past conversations. Meaning-based search is an add-on.By meaning, by keywords, and by shared names, combined into one ranked list.
Extra AI callsYes: dreaming and the helpers are extra AI calls, on your model key or Letta's credits.Yes: an AI call to pull out facts on every add, plus embeddings. Dream adds more on the cloud.
Measured against human memory
LettaMem0
Of the 111 built, 7 partly, 3 not7 built, 2 partly, 2 not
Encoding
SalienceDecides what's worth keeping, and how much, as a memory is written.

partly built

The AI decides what's worth writing down and where it goes, but there's no importance score. source

partly built

An AI decides what counts as a fact, and you can say what to include or skip. There's no importance score. source

EmotionGives memories written with feeling more weight.

not built

No emotional weighting is documented. source

not built

No emotional weighting in the current version.

Storage
ForgettingLets unused memories fade over time on its own.

not built

Nothing fades on its own. A memory goes away only if the AI edits it out. source

builtcloud, opt-in

Once it's switched on for a project, unused memories slowly sink in search results, though nothing is deleted. You can also set expiry dates. source

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

partly built

A memory helper cleans out repeats, by the AI's judgement rather than old and new competing. source

builtcloud only

Dream marks an older fact as replaced when a newer one contradicts it. Self-hosted, both are kept. source

Retrieval
RetrievalRemembering something makes that memory stronger.

not built

Using a memory doesn't make it stronger. source

builtcloud, opt-in

Each time a memory comes up in a search, it gets a small boost, once decay is switched on for the project. source

AssociationLinks memories, so recalling one brings its neighbours.

partly built

The always-visible list of pages works as signposts to related ones. There are no automatic links. source

built

Memories that mention the same person or thing are linked, and naming it in a question brings them up. source

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

partly built

It can schedule prompts to run later, once or on repeat, and the agent can schedule them itself. That runs a task at a time; a memory doesn't come back on its own. source

not built

It understands “upcoming” when you ask, but nothing comes back on its own. source

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

built

Dreaming helpers reread recent conversations in the background and fold the lessons into memory. source

builtcloud only

Dream merges duplicates in the background, and a weekly pass (Pro plan) sums things up. source

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

partly built

The AI rewrites memory freely, and every edit is saved in git, so old versions are always kept. source

builtcloud only

A replaced memory stays visible and is linked to what replaced it. source

GistTurns many specific moments into general knowledge.

partly built

Dreaming boils conversations down into lessons, done by the AI rather than a separate mechanism. source

builtcloud Pro

Dream writes “pattern memories” from things that keep coming up, kept alongside the originals. source

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

partly built

Always-open pages about its persona, you and the project shape how it reads new things, but only implicitly. source

partly built

User profiles (beta) keep a summary of each person, but new facts aren't weighed against it. source

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: Letta checked 2026-09-25; Mem0 checked 2026-09-25.

Something wrong? Edit on GitHub: Letta · Mem0, or tell us what to fix.