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
Side by side
| Letta | Mem0 | |
|---|---|---|
| At a glance | ||
| Whose memory | The AI's own memory | Building blocks |
| Memory lives | Letta's cloud, or your machine | Mem0's cloud, or your own server |
| API keys | An AI model key, or Letta's cloud | A Mem0 key (cloud) or an AI model key (self-hosted) |
| Works with | Its own CLI and app, TypeScript SDK, MCP tools, Claude Code (demo plugin) | Python & TypeScript SDKs, Claude Code, Cursor, Codex, LangGraph, CrewAI |
| License | Open sourceApache-2.0 | Partly open sourceApache-2.0 |
| Price | Free tier; Pro $20/mo | Free tier; from $19/mo |
| Under the hood | ||
| Who writes memories | The 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 kept | Markdown 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 found | The 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 calls | Yes: 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 | ||
| Letta | Mem0 | |
| Of the 11 | 1 built, 7 partly, 3 not | 7 built, 2 partly, 2 not |
| Encoding | ||
| SalienceDecides what's worth keeping, and how much, as a memory is written. | The AI decides what's worth writing down and where it goes, but there's no importance score. source | 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. | No emotional weighting is documented. source | No emotional weighting in the current version. |
| Storage | ||
| ForgettingLets unused memories fade over time on its own. | Nothing fades on its own. A memory goes away only if the AI edits it out. source | 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. | A memory helper cleans out repeats, by the AI's judgement rather than old and new competing. source | 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. | Using a memory doesn't make it stronger. source | 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. | The always-visible list of pages works as signposts to related ones. There are no automatic links. source | 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. | 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 | It understands “upcoming” when you ask, but nothing comes back on its own. source |
| Transformation | ||
| ConsolidationReworks memories between sessions: strengthening, merging, reorganising. | Dreaming helpers reread recent conversations in the background and fold the lessons into memory. source | 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. | The AI rewrites memory freely, and every edit is saved in git, so old versions are always kept. source | A replaced memory stays visible and is linked to what replaced it. source |
| GistTurns many specific moments into general knowledge. | Dreaming boils conversations down into lessons, done by the AI rather than a separate mechanism. source | 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. | Always-open pages about its persona, you and the project shape how it reads new things, but only implicitly. source | 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.