Platform Comparison
How MemoryRouter memory behaves on each platform — what is automatic, what is model-directed, and what each surface cannot do.
All platforms share one vault. What differs is how memory gets used.
The single most important distinction:
- Deterministic (hooks) — the client runs retrieval and capture itself. It happens whether or not the model thinks to ask.
- Model-directed (tools) — the AI decides when to search or save. Useful, but not guaranteed on every turn.
Behavior
| Platform | Mechanism | Automatic recall | Automatic capture |
|---|---|---|---|
| Claude Code | Hooks + MCP | Yes | Yes |
| Codex | Hooks + MCP | Yes | Yes |
| ChatGPT | Connector | Model-directed | Model-directed |
| Claude web | Connector + skill | Model-directed | Model-directed |
| Claude Cowork | Connector + skill + plugin | Model-directed | Model-directed |
Setup
| Platform | How to install | Version |
|---|---|---|
| Claude Code | npx memoryrouter-claude init | 2.0.0 |
| Codex | Supply the Memory Key securely, run package init, then browser OAuth | 1.0.0 |
| ChatGPT | Add custom connector | 1.0.0 |
| Claude web | Add custom connector (+ optional skill/plugin) | 1.0.0 |
| Claude Cowork | Add connector (+ skill/plugin) | 2.0.0 |
memoryrouter-claude@2.0.0 and memoryrouter-codex@1.0.0 are published on npm. The ChatGPT,
Claude web, and Cowork artifacts ship in the repository and have not been submitted to any
marketplace or connector directory, so those three are installed manually. Codex browser OAuth
authenticates MCP, while its automatic hooks separately require a MemoryRouter API key; follow the
secure Codex install rather than running a keyless init.
Scoping
| Platform | Project scoping | Server-enforced? |
|---|---|---|
| Claude Code | Git-derived project handle | No |
| Codex | Git-derived project handle | No |
| ChatGPT | Dedicated vault per scope | No |
| Claude web | Dedicated vault per scope | No |
| Claude Cowork | Explicit conversation handle, fails closed | No |
No platform has server-enforced project isolation. The MCP tools accept no project or vault argument. Isolation comes from using a separate vault and connection. Handles are useful organization, not a security boundary.
Capability limits
| Capability | Status |
|---|---|
| Semantic recall | All platforms |
| Durable writes | All platforms, with memories:write |
| Vault status | All platforms |
| Whole-vault deletion | All platforms, with memories:delete + exact phrase |
| Per-memory deletion | Not available anywhere — dashboard only |
| Server-side project arguments | Not implemented |
| MCP prompts / elicitation / tasks | Not implemented |
Choosing
Want memory that just works without thinking about it? Claude Code or Codex.
Work mostly in ChatGPT or Claude web? Use the connector and be a little explicit ("check my memory for…"). Add the skill and Project instructions on Claude for more consistency.
Need strict separation between clients or projects? Create separate vaults and connect each context to its own.
Want both? That is the point. Hooks capture your coding work deterministically; the same memories are then available in ChatGPT and Claude chat.