Code in Cursor during the day, chat in OpenClaw at night. One memory across every tool. No plugins. No patches. Just a base URL.
Short answer: Claude Code does by default, Codex does if you turn Memories on, and most others keep only the instructions you write. Every native memory below stays inside one tool, and usually on one machine. Checked against each vendor's docs on .
"Remembers" means the tool itself brings past conversations into a new session without you pasting them.
| Tool | What persists natively | Remembers past chats? | Limits | MemoryRouter connects via |
|---|---|---|---|---|
| Claude Code | CLAUDE.md you write, plus auto memory: notes Claude writes about your corrections and preferences | Yes | Auto memory is on by default and machine-local, shared across worktrees of one repo. Not shared across machines or tools. Source | Lifecycle hooks, automatic every turn |
| Codex | AGENTS.md you write, plus Memories: summaries of idle past chats under ~/.codex/memories | Opt in | Memories are off by default, generated in a background pass, and local to one machine. Codex only. Source | Lifecycle hooks, automatic every turn |
| Cursor | Rules and AGENTS.md you write. @Chats pulls in one earlier chat when you ask. Memories was removed in 2.1. | No | New chats start from rules. Conversation search (3.11) finds old transcripts but injects nothing. Source | Remote MCP, model-directed |
| Windsurf (Devin Desktop) | Rules you write, plus auto-generated Cascade memories | Partly | Memories are per workspace, stored on your machine, and apply to the legacy Cascade agent only. The default Devin Local agent does not persist memories. Source | Remote MCP, model-directed |
| GitHub Copilot | Custom instruction files, plus Copilot Memory: repository facts and user preferences | Partly | Public preview. Used by cloud agent, code review, and Copilot CLI. Unused entries are deleted after 28 days. GitHub only. Source | Remote MCP in agent-mode clients |
| Gemini CLI | GEMINI.md context files. The agent can save facts into them. | Partly | Saved facts are markdown instructions loaded every session. No record of the conversation itself. Source | MCP server |
| Cline | .clinerules, plus the Memory Bank file convention the agent maintains | Partly | Memory Bank is markdown the agent chooses to write. Local to the project. Source | Remote MCP, model-directed |
| Aider | Conventions files you load with /read, plus the repo map | No | A new session starts from files and the repo map. Source | OpenAI-compatible base URL |
| Zed | Rules and instruction files (.rules, AGENTS.md, CLAUDE.md and others) | No | Instructions only. Threads do not carry into new threads. Source | MCP context server |
| Continue | Rules files for standards and behavior | No | Rules shape behavior. Nothing from past sessions is stored. Source | MCP server |
Deeper answers: does Codex have memory, does Cursor remember past conversations, Claude Code memory, and every tool in the memory guide library.
MemoryRouter runs as a proxy between your coding tool and the LLM provider (Anthropic, OpenAI, etc.).
Coding sessions generate tons of noise: file diffs, tool calls, error traces. You don't want that in your memory vault. That's why we recommend read-only keys for coding tools.
# Your regular key (read + write)
mk_40a267f...
# Read-only version (just add ro_ after mk_)
mk_ro_40a267f...
Read-only keys inject memories into every request but never store coding sessions back. Your vault stays clean. No new database entry, no dashboard toggle. It's just a naming convention.
npx memoryrouter-codex initOne command connects Codex. Automatic hooks recall your project before every prompt and remember every finished turn.
Set up Codex
npx memoryrouter-claude initAutomatic project memory that survives compaction, new sessions, and machine switches.
Set up Claude Code
openclaw plugins install npm:mr-memoryTwo commands give your agent a memory that survives compaction, restarts, and model switches.
Set up OpenClaw
dsh plugin --profile <your-profile> add dsh-memoryrouterThe only memory plugin for dsh. Every session, every channel, one memory. Clean text, zero tool noise.
Set up DeepSeek Harness
Add MemoryRouter as a remote MCP server. OAuth built in, no API key in any config file.
Set up Cursor
Cascade connects to MemoryRouter over MCP with OAuth. Add the server, sign in once.
Set up Windsurf
Remote MCP server with OAuth 2.1 support in cline_mcp_settings.json.
Set up Cline
Add a remote MCP server to config.yaml and connect from agent mode.
Set up Continue
Add MemoryRouter as a remote context server. Zed handles OAuth automatically.
Set up Zed
Bridge to MemoryRouter's remote MCP server with mcp-remote. Requires Sourcegraph Enterprise.
Set up Cody
No MCP support and no plugin system. Point OPENAI_API_BASE at the MemoryRouter proxy instead.
Set up Aider
The langchain-memoryrouter package adds per-user memory as tools, graph nodes, or a BaseStore.
Set up LangGraph
Any tool that lets you set a custom base URL works the same way:
Base URL: https://api.memoryrouter.ai/v1
API Key: mk_ro_40a267f...
If it talks to OpenAI or Anthropic, it works with MemoryRouter.
Every tool feeds into the same memory vault. Chat with your AI assistant at night, code with Cursor during the day. Your AI always knows the full picture.
OpenClaw ──── mk_40a267f... ──── read + write
Codex ───── mk_ro_40a267f... ── read only
Claude Code ─ mk_ro_40a267f... ── read only
Aider ────── mk_ro_40a267f... ── read only
↕ All pointing to the same vault ↕
14 days free. Set up in two minutes. Your AI remembers you from the very next conversation.