Skip to content

Comparison

Wenlan vs claude-mem: Which Claude Memory Workflow Fits Your Work?

Compare Wenlan and claude-mem for Claude Code memory, observer-style capture, MCP access, local control, and work that spans tools.

Qi-Xuan LuUpdated 6 min read

Article packet

01

Comparisons

02

Claude Code users choosing a memory workflow

03

6 min read

01

claude-mem focuses on automatically observing Claude Code sessions and extracting useful context.

02

Wenlan focuses on shared local AI work memory across Claude Code and other MCP clients.

03

Both aim to reduce repeated context, but they choose different centers of gravity.

04

Both products are early. This page covers the claude-mem npm package and Wenlan v0.9.1 as of 2026-06-24.

01

Short answer

Choose claude-mem if your primary need is an observer-style memory workflow tightly centered on Claude Code sessions.

Choose Wenlan if you want local-first AI work memory that can serve Claude Code, Cursor, Codex, Claude Desktop, Gemini CLI, and other MCP-compatible tools.

02

What claude-mem emphasizes

claude-mem presents itself as a memory sidekick for Claude Code. Its core idea is watching work happen, capturing decisions and context, and retrieving that context later with useful scoping.

That is compelling when the main product surface is Claude Code and the desired experience is automatic memory capture around that tool.

03

What Wenlan emphasizes

Wenlan treats memory as part of a local AI work loop, not a single-client feature. Claude Code is important, but Wenlan also works through MCP so other clients can share the same context.

Wenlan's workflow includes handoffs, manual distillation, optional model-backed page work, wiki pages, readable artifacts, local indexes, and provenance attached to durable memories.

04

How to decide

If you live entirely in Claude Code and want an observer-style assistant for that environment, claude-mem is directly aimed at that habit.

If your work moves across coding agents, chat tools, projects, and sessions, Wenlan is designed to make the same context portable across those surfaces.

05

What 'observer mode' means in practice

claude-mem watches your Claude Code session and extracts memorable context without you naming it. The promise is low friction: keep working, memory accumulates on its own.

Two trade-offs show up over weeks of use. First, false positives: an observer cannot reliably tell which 'decision' is durable versus which is the start of an idea you will revise an hour later. Second, attribution: when the AI later cites memory, you usually want to know whether it came from your considered handoff or from a sentence you typed while still figuring out the problem.

Wenlan defaults to explicit capture for that reason. `/capture` is one keystroke during flow. `/handoff` preserves session state, and `/distill` deliberately turns repeated context into source-backed pages. Optional local models or API keys can add background extraction and page refresh work. The high-confidence layer is the one you marked.

06

What happens at session end

claude-mem's session-end pattern, as documented, summarizes the Claude Code session into memory entries automatically. That summary lives in claude-mem's store and gets retrieved on the next session via MCP.

Wenlan's session-end pattern is the `/handoff` flow. You write one to three sentences about what happened, what is blocked, and what is next. The daemon attaches that to your session captures, links related entities, and updates readable session/status artifacts under `~/.wenlan/` that are versioned in `~/.wenlan/.git/`. The next session starts with a handoff brief plus relevant prior context, not a chat-log summary.

Both reduce repeated context across sessions. The difference is who decides what is worth carrying forward: the model (claude-mem) or you with model help (Wenlan).

  • claude-mem: automatic session summary, model picks what is durable.
  • Wenlan: explicit `/capture` plus `/handoff`, human picks; manual `/distill` and optional background page work supplement.
  • Both expose recall via MCP. Wenlan also exposes `wenlan recall <id>` and the projected Markdown for direct human reading.

07

Cross-tool: Cursor, Codex, Claude Desktop, Gemini CLI

claude-mem's positioning is Claude Code first. MCP exposure exists so other clients can read the store, but the workflow shape (observer of Claude Code sessions) is the product.

Wenlan's positioning is MCP first, Claude Code as one of many clients. One daemon at `127.0.0.1:7878` serves any MCP-compatible runtime. In my own work I switch between Cursor for refactors, Claude Code for greenfield, and Codex for shell-heavy tasks; the memory is the same memory.

If you live 100% inside Claude Code, this difference is theoretical. If you context-switch between tools across a typical week, it is the difference between one memory layer and three disjoint ones.

08

When claude-mem is the better call

If your AI work is entirely inside Claude Code, you want zero capture friction, and you are comfortable letting an observer pick what is memorable, claude-mem is shaped exactly for that. Single-tool by design, not by oversight.

If you want explicit human control over what enters memory, multiple AI clients sharing one local context store, or git-versioned audit trails for readable artifacts, those are not claude-mem's headline features. Use Wenlan.

Cost: claude-mem ships as an npm package under MIT. Wenlan's daemon, CLI, and MCP server are Apache-2.0. Both are free to self-host. The optional Wenlan desktop app lives in a separate repo under AGPL-3.0 if you want a GUI on top.

Side-by-side

Quantified dimensions. Where claude-mem leads, we say so.

DimensionWenlanclaude-mem
Center of gravityLocal AI work memory across MCP clients: Claude Code, Cursor, Codex, Claude Desktop, VS Code, Gemini CLI.Observer-style memory assistant centered on Claude Code sessions.
Capture modeExplicit /capture in flow, /handoff at session end, plus manual /distill and optional background page work. Low-confidence and contradicting captures surface for review.Automatic observer of Claude Code sessions; less explicit human control over what enters memory.
RetrievalHybrid retrieval (vector + FTS5 + RRF + graph + CE reranker). LME_Oracle: 93.6% Recall@5, 0.857 MRR, 0.883 NDCG@10. LME_S: 87.7% Recall@5, 0.815 MRR, 0.822 NDCG@10. ~168 tokens per recall query.Semantic recall via MCP scoped to past Claude Code sessions; no published benchmark.
Cross-tool reachOne daemon serves any MCP client. Same memory across coding agents, chat tools, and CLI runtimes.Claude Code first. MCP exposure exists, but the workflow is tuned for the Claude Code surface.
Provenance + versioningMandatory source IDs on distilled pages; readable pages, sessions, and status artifacts are versioned in ~/.wenlan/.git/.Session-attributed captures; no per-write git history by default.
LicenseApache-2.0 daemon, CLI, MCP server.MIT (per claude-mem npm package).

Carry Claude Code context beyond one session

Wenlan helps Claude Code and other MCP clients use the same local work memory.

FAQ

Is Wenlan only for Claude Code?+
No. Wenlan ships a Claude Code plugin, but it also exposes memory through MCP so other compatible tools can use the same local memory layer. Cursor, Codex, Claude Desktop, and Gemini CLI all work out of the box.
Is claude-mem more automatic than Wenlan?+
claude-mem is framed around observer-style capture for Claude Code. Wenlan has capture, handoffs, manual distillation, and optional model-backed page work, but it emphasizes inspectable memory, provenance, and cross-tool use. Less automatic at capture time, more controllable at recall time.
Can I migrate from claude-mem to Wenlan?+
There is no automated importer at the moment. claude-mem's memories are accessible through MCP, so a one-off script that reads selected durable items and POSTs to Wenlan's `/api/memory/store` endpoint would do the job. So far, manual capture during normal work has been faster than building one.
Is automatic capture really lower-friction in the long run?+
Friction at capture time is one form. Friction at recall time is another: a store filled with low-signal observations is one the AI has to wade through. Explicit capture front-loads the work; observer mode back-loads it. Wenlan uses explicit capture, handoffs, manual distillation, and optional background page work as the balance.
Does Wenlan watch my Claude Code session in the background?+
Not by default. There is no observer process. The daemon sees only what you capture or what you import. Session-level observation could be a build target later, but it is not a current feature, and the lack of it is intentional.