Last updated: November 2026
Both tools exist because a coding agent forgets everything when a session ends. They take nearly opposite routes to fix it, and which one suits you depends mostly on where you work.
Short version: claude-mem watches your coding sessions through hooks, has a model compress what happened, keeps it in a local database and feeds it back into the next session. Palim is a hosted MCP server that stores what you or your agent explicitly save, and makes it available in every client you connect, including chat apps like claude.ai and ChatGPT.
| Criterion | Palim | claude-mem |
|---|---|---|
| Where it runs | Hosted only (Render and Supabase, Frankfurt); nothing runs locally | Local worker service on your machine; optional paid Cloud Sync between devices |
| Source | Closed source, no self-hosting | Open source, Apache 2.0 |
| How memory is created | Explicit save tool calls (checkpoint, session, memory) | Automatic capture through lifecycle hooks, compressed by a model |
| Model that writes the memory | Your client's model writes the checkpoint; Palim makes no model call of its own | CMEM Pro hosted observer (default, 30-day trial), your own OpenRouter or Gemini key, or your Anthropic plan |
| Search | Keyword only: titles and tags through a blind index, content matched after decryption on the server | Hybrid: keyword (SQLite FTS5) plus meaning-based retrieval through a Chroma database |
| Clients | Claude (web and desktop), Claude Code, Cursor, ChatGPT, Perplexity and other MCP clients | Claude Code, Cursor, Codex, OpenCode, Windsurf, Antigravity CLI and other agent harnesses; Claude Desktop for search |
| ChatGPT | Documented custom app with OAuth (paid ChatGPT plan) | Not listed in the README or installation docs |
| Privacy control | Only what a save tool receives is stored | <private> tags exclude content from storage |
| Price | Free in beta; paid plans announced but not active | Free and open source; the hosted observer and Cloud Sync are paid cmem.ai Pro features |
Statements about claude-mem come from its public repository and docs, retrieved 4 November 2026: author, license, hooks, install commands, <private> tags and CMEM Pro trial from https://github.com/thedotmack/claude-mem (README) and https://raw.githubusercontent.com/thedotmack/claude-mem/main/LICENSE; version and license from https://www.npmjs.com/package/claude-mem; supported hosts, provider options and data directory from https://docs.claude-mem.ai/installation; search tools, FTS5 and Chroma from https://docs.claude-mem.ai/architecture/search-architecture; Cursor hooks from https://docs.claude-mem.ai/cursor/index.md; Cloud Sync from https://docs.claude-mem.ai/cloud-sync. Vendors change their products; please verify current details yourself before relying on them.
claude-mem is an open source plugin by Alex Newman, licensed Apache 2.0. You install it with npx claude-mem install or from the Claude Code plugin marketplace. It registers lifecycle hooks (SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop, SessionEnd) and runs a local worker service.
Capture is automatic. The hooks record tool usage, and a model compresses those observations into summaries. You choose who runs that model: claude-mem's hosted observer (CMEM Pro, pre-selected by the installer, with a 30-day trial), your own OpenRouter or Gemini key, or your Anthropic plan. With the hosted observer or your own key, session observations go to that provider for compression. The resulting memory is stored on your machine in SQLite under ~/.claude-mem/, with a Chroma database next to it for meaning-based retrieval. Retrieval goes through MCP tools in three steps (search, timeline, get_observations) to keep token use down.
It is no longer Claude Code only. The installer also wires up Cursor (through Cursor's own hooks), Codex, OpenCode, Windsurf, Antigravity CLI and several other harnesses. Optional Cloud Sync, a cmem.ai Pro feature, replicates observations, summaries and your prompt text across devices through cmem.ai's sync hub.
Palim is a hosted MCP server at https://api.usepalim.com/mcp. Nothing runs locally. Claude, Claude Code, Cursor and ChatGPT connect with OAuth.
Saving is explicit. The agent calls a tool to store a checkpoint (goal, state, decisions, open items, next steps), a full session or a single memory. A short instruction in a Cursor Rule, CLAUDE.md, Claude project instructions or ChatGPT custom instructions makes those calls more likely, but it does not guarantee them.
Content is stored in Frankfurt, and supported fields are encrypted at rest with AES-256-GCM using a per-user key derived from a master key held on the server. Search matches keywords, not meaning.
If you live in Claude Code, Cursor or another coding harness and want memory without thinking about it, claude-mem is built for that. Capture happens on every tool call, you don't have to remember to save, and meaning-based retrieval can find things you can't name exactly.
If you want the stored memory on your own disk, claude-mem keeps it local by default. Palim is hosted only.
If you want to read and change the code, claude-mem is open source. Palim isn't.
If part of your work happens in chat apps, Palim reaches them. A decision you talk through in claude.ai or ChatGPT can be saved there and found later from Cursor or Claude Code.
If you prefer a deliberate record over a full log, Palim stores what you choose: the decision, the rejected options and what's still open. Less noise, but you rely on the save actually happening.
If you work on more than one machine and don't want to set up sync, there's nothing to sync. Every client talks to the same server, and content is stored in Frankfurt.
Search matches keywords; it does not understand meaning. There is no automatic capture: nothing is stored unless a Palim save tool is called. The encryption keys are held on the server, so the server decrypts content to search, export and distill it, and metadata like titles, tags and timestamps is readable to it. Some providers process limited data outside the EU, for example Resend for email. There is no self-hosting.
Yes. claude-mem works through local hooks and its own local MCP tools; Palim is a remote MCP server. They don't conflict, though both will add context to your sessions.
No. Palim records nothing on its own. It stores what the model or you save through a Palim tool, usually a checkpoint the model writes at the end of a piece of work.
Not anymore. Its installer supports Cursor, Codex, OpenCode, Windsurf, Antigravity CLI and other harnesses, according to its installation docs as of 4 November 2026.
The memory database is local by default. The model that compresses observations can be hosted (CMEM Pro, OpenRouter, Gemini or your Anthropic plan), and Cloud Sync, if you enable it, uploads observations and prompt text to cmem.ai.
Want automatic, local memory for your coding agent, with open source code and meaning-based retrieval? Use claude-mem. Want a deliberate record you can reach from Claude, ChatGPT and Cursor alike, stored in Frankfurt with nothing to install? Use Palim.