If you want the wider stack picture first, start with the agent tools hub. This page answers the narrower question: what is the best memory stack when your OpenClaw setup has to survive long sessions, compaction, resets, and real day-to-day use.
The short version
For most builders, the best answer is a staged stack, not a heroic one.
- Start with builtin memory when your agent mostly needs clean Markdown files, searchable daily notes, and low operational drag.
- Move to QMD when local recall quality matters more than bare simplicity, especially if you want reranking, query expansion, or indexing beyond the workspace.
- Add Honcho when cross-session user memory, channel-spanning context, and automatic user modeling matter more than staying fully file-only.
- Use LanceDB deliberately when you want plugin-owned long-term memory with auto-recall and auto-capture, not just a better search layer.
- Reach for Mem0 last when memory must become a separate managed product layer across apps, teams, or agents, not just a stronger OpenClaw workspace.
What the current OpenClaw memory stack looks like
The official OpenClaw memory overview makes the baseline clear. OpenClaw starts file-first. `USER.md`, `MEMORY.md`, and daily notes carry the durable context. The default backend is builtin SQLite memory with keyword, vector, and hybrid search.
From there, the stack branches in sensible directions instead of one giant leap. QMD improves local retrieval. Honcho adds cross-session memory through a dedicated service. LanceDB adds a plugin-owned long-term memory lane. Mem0 is the farther-out option when you want a managed memory system with distinct conversation, session, user, and organizational layers, as described in the official Mem0 memory types docs.
Native, plugin, and external memory options
| Layer | Type | Best for | Main tradeoff |
|---|---|---|---|
| Builtin memory | Native default | File-first memory, daily notes, and simple long-running setups that should stay boring | Great simplicity, weaker recall quality once the memory corpus gets messy |
| QMD | Native-adjacent sidecar | Better local search, reranking, query expansion, and indexing extra folders or transcripts | Another local dependency to install and keep healthy |
| Honcho | Official external plugin lane | Cross-session memory, user modeling, and channel-aware memory across a real assistant workflow | More service complexity and more trust surface than plain files |
| Memory LanceDB | Official external plugin lane | Vector-first long-term memory with auto-recall and auto-capture inside a plugin-owned memory slot | Native package dependency, embedding setup, and a more opinionated memory shape |
| Mem0 | External managed memory layer | Teams that want memory shared beyond one OpenClaw workspace and are willing to run or trust a separate memory platform | Highest complexity, extra cost, and the furthest move away from the file-first OpenClaw default |
When builtin memory is enough
Builtin memory is enough more often than people expect. If your agent mostly needs durable facts in `MEMORY.md`, running notes in `memory/*.md`, and occasional semantic recall, the default stack is usually the right starting point.
- Use it for solo operators: the simple file model is easy to inspect, back up, and fix when something goes sideways.
- Use it for workflow clarity: you can see what the agent remembers instead of hoping a remote service inferred the right thing.
- Use it when trust matters more than convenience: fewer moving parts means fewer places for memory bugs to hide.
The main limit is not that builtin memory is bad. The limit is that eventually your memory corpus gets wider, your retrieval standards go up, and simple recall stops feeling sharp enough.
When to switch to QMD
QMD is the first real upgrade I would recommend. According to the official docs, it adds reranking, query expansion, transcript indexing, and the ability to index content outside the workspace, while still falling back to builtin memory if QMD is unavailable.
That makes QMD the best next step when you still want a local-first OpenClaw memory stack, but the default engine is starting to miss relevant context.
- Move to QMD when project docs, session history, or large note collections matter.
- Move to QMD when the cost of missing the right note is becoming higher than the cost of one more local dependency.
- Stay on builtin if your current issue is messy memory writing, not weak retrieval. Better indexing will not rescue bad note hygiene.
When Honcho becomes the better fit
Honcho is the point where the question changes. You are no longer just improving local file recall. You are adding a dedicated memory service that can persist conversations across sessions and build user and agent models over time.
That is valuable when your OpenClaw setup lives across Telegram, Slack, Discord, or multiple session resets. It is also useful when remembering the user automatically matters more than manually curating every durable fact.
- Use Honcho when channel-spanning continuity matters.
- Use Honcho when user preference modeling is now part of the product, not just a nice extra.
- Skip Honcho for now if your main memory problem is still just local file search quality. QMD is the smaller step.
Where LanceDB fits
Memory LanceDB is not just “QMD but different.” It is a different style of memory. The official plugin docs position it as long-term memory with vector search, auto-recall, and optional auto-capture.
That makes it useful when you want the active memory plugin itself to own storage and retrieval behavior, especially if you are comfortable managing embedding settings and a plugin-owned memory slot.
It is a worse fit if what you really want is transparent Markdown memory with stronger search. For that job, QMD is the cleaner move.
When Mem0 is worth the extra weight
Mem0 gets interesting when memory stops being “what this OpenClaw workspace remembers” and starts becoming “a memory platform multiple agents or apps should share.”
Its managed platform and layer model can make sense for teams that want user memory, session memory, and org memory outside the OpenClaw runtime. But that is a larger architectural decision, not a routine upgrade.
- Use Mem0 when memory must outgrow one workspace and become an app-level service.
- Use Mem0 when governance, shared memory scopes, or cross-product reuse matter enough to justify the extra system.
- Do not use Mem0 just because it sounds advanced. Most OpenClaw builders do not need a separate memory company living inside the stack on day one.
Memory quality versus complexity
This tradeoff decides everything.
- Builtin gives the best simplicity-to-value ratio.
- QMD gives the best retrieval-quality upgrade without abandoning the local file model.
- Honcho gives the best cross-session assistant memory when user modeling is the real need.
- LanceDB gives a more agentic long-term memory plugin shape, but with more setup weight.
- Mem0 gives the broadest memory architecture, but also the most architecture to own.
In plain English: better memory almost always means more machinery. The trick is adding that machinery only after the smaller layer has clearly become the bottleneck.
What beginners usually get wrong
- They upgrade memory too early. Weak note structure often looks like weak retrieval.
- They confuse persistence with quality. A system can remember a lot and still retrieve the wrong thing.
- They treat managed memory like free magic. It adds trust, privacy, cost, and debugging questions whether the marketing page mentions that or not.
- They forget bootstrap limits. If `MEMORY.md` gets bloated, the real fix is often better distillation, not another backend.
Recommended upgrade path
For most builders, the sane sequence looks like this:
Builtin → QMD → Honcho or LanceDB → Mem0 only if the product shape truly demands it.
That path keeps the stack legible. It also makes failures easier to diagnose, because you are only adding one new memory idea at a time.
Best for
The best memory stack for long-running OpenClaw agents is builtin memory first, QMD second, and then Honcho only when cross-session user modeling becomes a real requirement. LanceDB is for builders who want a plugin-owned vector memory lane. Mem0 is for teams that have outgrown the idea of memory living mainly inside one OpenClaw workspace.
If you want the broader stack view next, go back to the agent tools hub. If you want the OpenClaw memory foundations first, read managing agent memory and memory deep dive.