How deja compares
where deja sits among the memory tools
There are a lot of AI memory systems. Most solve a different problem than deja: they give applications a memory API you call from code, or wrap an agent runtime around their own store. deja is narrower — it makes the transcripts your coding agents already write to disk searchable, and serves them back to those agents. That one difference (retroactive indexing vs forward capture) drives most of the table below.
| deja-vu | Mem0 | Letta | memU | Memori | claude-mem | agentmemory | |
|---|---|---|---|---|---|---|---|
| What it is | index over agent transcripts | memory API for apps | agent runtime | memory filesystem | SQL memory SDK | Claude Code plugin | capture daemon |
| Starts with your history | ✓ retroactive | — | — | — | — | — | — |
| Capture step | none needed | API calls | its runtime | agent distills | SDK wrap | hooks + LLM | hooks |
| Stored as | verbatim, redacted | LLM facts | memory blocks | markdown | SQL rows | LLM summaries | events + vectors |
| Needs LLM/embedding key | no | yes | yes | yes | yes | yes | model or API |
| Background process | none | server / cloud | server + Postgres | server / cloud | none | worker | daemon, ports |
| Coding agents | 22 native parsers (Claude Code, Codex, opencode, Cursor, Goose, OpenClaw…) | via SDK/MCP | own runtime | adapters | frameworks | Claude Code, opencode, Antigravity, OpenClaw | via hooks |
| Cross-machine sync | ✓ SSH, no cloud | cloud | server-side | cloud / self-host | your DB | — | — |
| Recall provenance | ✓ log + receipts | — | partial | — | queryable rows | viewer | dashboard |
| Retrieval | tiered lexical, optional embeddings | vector + graph | agent + vector | embeddings | SQL + vector | vector | hybrid RRF |
| Benchmark, harness in repo | 85.3% hit@1 LME-S · measured · day zero vs four tools | self-reported | research lineage | self-reported | self-reported | — | — |
| Install | one binary | pip + keys | docker | pip / server | pip | npm + Claude | installer + deps |
| License | MIT | Apache-2.0 | Apache-2.0 | Apache-2.0 | Apache-2.0 | MIT | MIT |
The wider field
The table above is the six systems people ask us about, which are mostly a different shape of tool. Asked for a broader atlas (#310), here are the four largest memory projects outside that set, on the same axes. Star counts and cells are from each project's own README, read in July 2026.
| deja-vu | MemPalace | cognee | Graphiti / Zep | Hindsight | |
|---|---|---|---|---|---|
| What it is | index over agent transcripts | local-first memory store | knowledge-graph memory platform | temporal knowledge graph | memory service with typed pathways |
| Stars | see repo | 57.9k | 29.6k | 29.3k | 18.9k |
| Starts with your history | ✓ retroactive, 25 harnesses | ✓ mines Claude Code, Codex, Cursor | — | — | — |
| Capture step | none needed | hooks, plus a mine/sweep backfill | API calls | API (episodes) | API (retain) |
| Stored as | verbatim, redacted | verbatim, in rooms and drawers | graph entities + embeddings | entities and edges with validity windows | typed facts + sparse/dense vectors |
| Needs LLM/embedding key | no | no — ships a local model (~300 MB) | yes | yes | yes |
| Background process | none | none; a vector store backend (ChromaDB by default) | Postgres + pgvector, or Neo4j | Neo4j, FalkorDB or Neptune | Docker service, or embedded |
| Retrieval | tiered lexical, optional embeddings | semantic, optional keyword and recency boosts, optional LLM rerank | graph + vector, strategy picked for you | embeddings + BM25 + graph traversal | hybrid sparse/dense over memory banks |
| Published retrieval numbers | 85.3% hit@1 / 95.5% hit@5 LME-S, harness in repo | 96.6% R@5 LongMemEval (500q, no LLM); 88.9% R@10 LoCoMo | 0.79 on BEAM at 100k tokens | none in README; a Zep paper reports separately | — |
| Install | one binary | uv tool install | uv pip install + a database | pip + a graph database | docker |
| License | MIT | MIT | Apache-2.0 | Apache-2.0 | MIT |
The other tools that read the same files
A second group is closer to deja than any memory system: tools that also read the session files coding agents leave on disk. They are built for a person doing the looking — a window or a terminal you open when you want to find something. Cells are from each project's own README, read on 26 August 2026.
| deja-vu | cass | Agent Sessions | agent-historian | casr | Agent Session Viewer | |
|---|---|---|---|---|---|---|
| What it is | index the agent queries | TUI and CLI over one timeline | macOS app | CLI for agents | session converter | web viewer |
| Agents read | 24 | 25 providers | 14 CLIs | 5 CLIs | Claude, Codex, Gemini and more | Claude Code, Codex |
| Recall without being asked | ✓ hooks at session start, before an edit, after a failure | — | — | — | — | — |
| Serves an agent | ✓ MCP + skill | ✓ MCP | — | ✓ MCP | — | — |
| Secrets stripped at index time | ✓ | ✓ | — | — | — | — |
| Cross-machine sync | ✓ SSH, no cloud | — | — | — | — | — |
| Also does | blame, fix, how, digests | timeline browsing | live quota burn per session, priced per model | project or global scope | resume a Codex session inside Claude Code | full-text search per project |
| Written in | Go, one binary | Rust | Swift, macOS only | TypeScript | Rust | Python |
One more belongs here since September 2026: Hugging Face's funes reads existing transcripts of Claude Code, Codex, pi and Hermes into a local vector index with a reranker, and serves an agent over MCP and per-turn hooks — the closest thing to deja's shape. Measured on the day-zero corpus: two hours to index what deja indexes in half a minute, six seconds a query against 155 ms, and once its recency weighting is off it ranks a little better at rank five (46 against 35) and the same at rank one. Four agents against twenty-four, and nothing arrives at a failed command or a file about to be edited. ctx is the nearest sibling in shape — a Rust lexical index over thirty-odd agents' files, with MCP and a paid blame tier — and on the same corpus it finds half as many sessions at every depth (hit@1 8, found@50 42) at 0.8 s a query; its automatic setup could not index the directory at all and needed an explicit import.
When to pick something else
Honest routing, because the categories genuinely differ:
Mem0 / Memori — you are building an application and want to give your users memory through an API. deja has no SDK; it is not for app-embedded memory.
Letta — you want a full agent runtime with self-editing memory and you're happy living inside it. deja is the opposite bet: memory only, bring whatever agent you already use.
memU — you want curated, distilled knowledge files and don't mind the agent doing the distilling. deja keeps the verbatim record and searches it instead.
claude-mem — you prefer compressed summaries over raw history. It installs into Claude Code, opencode, Antigravity and OpenClaw gateways; deja parses 25 agents and keeps recall lossless.
MemPalace — the closest overlap by far, and the honest comparison is narrow: it also reads Claude Code sessions off disk and also keeps them verbatim. It brings a local embedding model and a vector store; deja is one binary with neither, parses 25 harnesses rather than three, and adds the things built around a code history specifically — deja blame, SSH sync, sanitized digests. If you want semantic paraphrase matching and don't mind a Python install with a 300 MB model, theirs is the better fit.
cognee / Graphiti — you want a knowledge graph with entities, relationships and time-valid facts to reason over, and you accept a database and an LLM key as the price. deja does not build a graph; it searches what was said.
Hindsight — you want an agent to accumulate curated beliefs about the world over time, through an API you call. deja never writes memories of its own: it indexes the record your agents already produced.
cass — you want to sit and read across your own history, and you want the widest net: it lists 25 providers against our 25 harnesses, in a TUI built for browsing a single timeline. It also serves an agent over MCP and strips secrets. deja's difference is the hook, not the search.
Agent Sessions — you are on a Mac and the question is where your quota went. It attributes 5-hour and weekly burn to the individual session, priced per model, which deja does not do at all. deja has no window to open.
casr — you want to carry one session into a different agent and keep going. deja resumes a session in the tool that wrote it and otherwise answers questions about it; it does not convert between formats.
A vector database + your own pipeline — you need semantic paraphrase matching above all. deja's lexical ladder loses to embeddings on pure paraphrase (we say so in the benchmarks); it wins on identifiers, error strings, and everything code-shaped, with no key and no daemon.
What only deja does
Across the systems we've studied, these have no equivalent elsewhere: déjà vu recurrence detection ("you have been here" when a prompt matches solved work); origin-trust scopes on imported memory; deja blame — which sessions touched a file and what was decided; sanitized deja share digests; and the whole thing in one binary, with no model and no runtime, that you can scp.
This list used to open with "indexing history from before the tool was installed". It no longer does: MemPalace mines Claude Code, Codex and Cursor transcripts off disk too. Retroactive indexing is still rare — nine of the ten systems on this page cannot do it — but it is not ours alone, and a page that claimed otherwise would be the wrong thing to trust.