claude-mem vs opencode-mem
Cross-harness session memory: hooks capture what the agent does, an LLM compresses it into observations, and the next session gets the relevant ones back via progressive-disclosure MCP tools. — versus — OpenCode plugin giving coding agents persistent cross-session memory — local SQLite + vector search, automatic memory capture, user-profile learning, and a web UI. Nothing leaves your machine.
Same plugin-level memory pattern with automatic capture and local vector search, scoped to OpenCode only. Pick opencode-mem if that is your harness and you want something small; claude-mem spans many harnesses and ships a worker, viewer and MCP toolset.
| claude-mem | opencode-mem | |
|---|---|---|
| Stars | 93k | 1.6k |
| Forks | 8.1k | 149 |
| Language | JavaScript | TypeScript |
| License | Apache-2.0 | MIT |
| Last activity | 2 days ago | 3 days ago |
| Topics | memory, coding | memory, coding |
| Curated connections | 7 | 6 |
claude-mem — the curator's take
The most widely installed of the capture-and-reinject memory plugins, and the one with the most product around it: 5 lifecycle hooks, a Bun worker with an HTTP API and live web viewer, SQLite plus FTS5 plus Chroma for hybrid search, and a 3-layer MCP search pattern (index → timeline → full detail) that keeps recall at ~50-100 tokens per hit until you actually want the body. Installs into Claude Code, OpenCode, Antigravity, OpenClaw and more, with `<private>` tags to keep things out of the store and optional cloud sync. The tradeoffs: it spends model tokens summarizing every session, it drags in Bun and uv, and what you get back is a generated observation rather than the raw transcript — if you want auditable, greppable memory you can edit by hand, look at the Markdown-first options instead.
opencode-mem — the curator's take
For OpenCode users tired of re-explaining their architecture every session: auto-capture summarizes each prompt's work via a background structured-output call that reuses your existing opencode provider auth, memories inject into the first chat message, and the `.opencode-mem-project` marker file solves multi-repo workspaces properly (directory-driven identity, not env vars). A real web UI at :4747 for browsing what it learned. NOT for Claude Code — this is OpenCode-specific; pro-workflow and claude-reflect are the equivalents on that side. Auto-capture needs a provider that speaks structured output, and the default local embedding model downloads on first use. Inspired by opencode-supermemory, but local-first.