Supported editors
aide-memory was originally built for Claude Code and expanded to Cursor. Both have full hook + MCP wiring at aide-memory init. Codex, Copilot, and Windsurf ship a rules template today; deeper integration may come based on user feedback.
Both editors may need a fresh session (or restart) after aide-memory init so the MCP server registers. Cursor adds a second step: toggle the aide-memory MCP server ON in Settings → MCP.
Legend
- ✅ supported
- ❌ not supported
- ⚠ partial support (see footnote)
- 📝 rule template only (no hook / MCP wiring yet)
Per-editor table
| Capability | Claude Code | Cursor | Codex | Copilot | Windsurf |
|---|---|---|---|---|---|
aide-memory init generates editor config files | ✅ | ✅ | 📝 | 📝 | 📝 |
| MCP tools available in agent sessions | ✅ | ✅ 1 | ⚠ 1 | ⚠ 1 | ⚠ 1 |
| Hard-block on file read with scoped memories | ✅ | ✅ 2 | ❌ | ❌ | ❌ |
| Hard-block on file edit with scoped memories | ✅ | ✅ | ❌ | ❌ | ❌ |
| Soft nudge on re-read (agent-context channel) | ✅ | ✅ 3 | ❌ | ❌ | ❌ |
| Inline branded status on hard-block | ✅ | ✅ | ❌ | ❌ | ❌ |
| Inline branded status on soft-nudge | ✅ | ⚠ 4 | ❌ | ❌ | ❌ |
| Session-start dynamic context injection | ✅ | ⚠ 5 | ❌ | ❌ | ❌ |
| Session-start context after compaction | ✅ | ❌ 6 | ❌ | ❌ | ❌ |
| Stop-hook reflection nudges | ✅ | ✅ 7 | ❌ | ❌ | ❌ |
| Correction detection (UserPromptSubmit / beforeSubmitPrompt) | ✅ | ⚠ 8 | ❌ | ❌ | ❌ |
| Pre-search nudge on Grep | ✅ | ✅ | ❌ | ❌ | ❌ |
| Pre-search nudge on Glob | ✅ | ❌ 9 | ❌ | ❌ | ❌ |
| Auto-regenerated rule file on memory/config writes | ⚠ 10 | ✅ | ❌ | ❌ | ❌ |
Current state
Claude Code is the reference adapter. All capabilities listed here work as designed.
Cursor ships with aide-memory at strong parity with Claude Code. aide-memory init writes .cursor/hooks.json, .cursor/mcp.json, and .cursor/rules/aide-memory.mdc (the last one auto-regenerates on memory and config changes). Soft nudges reach the agent via agent_message, hard blocks render branded chrome inline. Remaining gaps are documented on the Cursor editor page.
Codex, Copilot, Windsurf ship a curated rule template today. Deeper integration may come based on user feedback. To request it, open an issue.
Per-editor pages
- Claude Code, reference UX, branded chrome, in-turn correction detection, full hook parity
- Cursor, hard-block + soft-via-
agent_message, rules-file session context, one-turn-delay corrections, per-Read editor-open coverage gap - Windsurf, rule template only
- Codex, rule template only
- Copilot, rule template only
Footnotes
-
Cursor’s MCP config is generated at init. Codex / Copilot / Windsurf ship a rules template only. If you add aide-memory as an MCP server manually in the editor’s own MCP config, the seven tools work identically to Claude Code. ↩ ↩2 ↩3 ↩4
-
Cursor 3.2.11’s
preToolUse:Readhook does NOT fire when the target file is already open in the editor pane (verified empirically 2026-04-27). Files that are NOT open trigger the hook reliably.preToolUse:Write(Edit) fires regardless of editor-open state. Mitigation: per-Edit safety net stays reliable, and the rules-file injection includes “Even when a file is visible to you, call aide_recall for that path” guidance so agents pick up memories on editor-cached reads. The mitigation is empirically verified across the 4-cell file-open validation matrix. ↩ -
Soft nudges are delivered via Cursor’s
agent_messagefield onpermission: "allow", the equivalent of Claude Code’sadditionalContextchannel. The agent receives the same context payload (memory IDs + recommended tool call) on every fire. Verified empirically on Cursor 3.2.11 (2026-04-27). User-visible chrome on soft fires is the remaining partial gap. ↩ -
On
permission: "deny"(hard-block), Cursor rendersuser_messagechrome inline in chat: the user seesaide-memory · ...status lines just like Claude Code. Onpermission: "allow"(soft fire), Cursor 3.2.11 logsuser_messageto the Hooks Output panel but does NOT render it inline in chat. The agent still receives the soft context viaagent_messageon every fire, so the safety net works; only the user-facing visibility for soft fires is missing. ↩ -
sessionStart.additional_contextis broken on Cursor (staff-confirmed, no workaround). aide-memory delivers the same content via a dynamically regenerated.cursor/rules/aide-memory.mdcwithalwaysApply: true, Cursor staff’s officially-endorsed workaround. Content identical, channel different. ↩ -
Cursor’s
sessionStarthook does not re-fire after context compaction. The regenerated rules file partially covers this since Cursor re-readsalwaysApply: truerules each turn, but the dedicated session-start pipeline (that Claude Code gets) is not available. ↩ -
Stop-hook nudges use Cursor’s
followup_messagechannel instead of Claude Code’ssystemMessage. Same effect, different transport. ↩ -
Cursor detects corrections via
beforeSubmitPromptand writes the same correction-pending flag Claude Code does, but Cursor’sbeforeSubmitPrompthook output supports onlycontinue+user_message, no context injection channel. The user-visible “store this correction” reminder therefore arrives one turn later via the next Stop hook’sfollowup_message. ↩ -
Cursor’s documented matcher vocabulary is
Shell, Read, Write, Grep, Delete, Task, MCP:<tool>, noGlobmatcher. The adapter skips Glob silently. Grep coverage is unaffected. ↩ -
Claude Code does not need rules regeneration because its SessionStart hook can inject dynamic context directly. The regen pipeline exists for Cursor specifically; Claude Code’s
.claude/rules/aide-memory.mdis a static template. ↩