cursor-hooks/CONTEXT-INJECTION.md
Context is automatically injected via Cursor's Rules system:
claude-mem cursor install creates initial context filesession-summary.sh updates context after each session ends.cursor/rules/claude-mem-context.mdc in all chatsResult: Context appears at the start of every conversation, just like Claude Code!
claude-mem cursor install
This:
.cursor/hooks/hooks.json configuration.cursor/rules/claude-mem-context.mdcContext is refreshed three times per session for maximum freshness:
context-inject.sh): Ensures you start with the latest context from previous sessionssession-summary.sh): Fallback update in case worker update was missedWhen you submit a prompt, context-inject.sh:
# 1. Ensure worker is running
ensure_worker_running "$worker_port"
# 2. Fetch fresh context
context=$(curl -s ".../api/context/inject?project=...")
# 3. Write to rules file (used immediately by Cursor)
cat > .cursor/rules/claude-mem-context.mdc << EOF
---
alwaysApply: true
---
# Memory Context
${context}
EOF
After each session ends, session-summary.sh:
# 1. Generate session summary
curl -X POST .../api/sessions/summarize
# 2. Fetch fresh context (includes new observations)
context=$(curl -s ".../api/context/inject?project=...")
# 3. Write to rules file for next session
cat > .cursor/rules/claude-mem-context.mdc << EOF
---
alwaysApply: true
---
# Memory Context
${context}
EOF
Located at: .cursor/rules/claude-mem-context.mdc
---
alwaysApply: true
description: "Claude-mem context from past sessions (auto-updated)"
---
# Memory Context from Past Sessions
[Your context from claude-mem appears here]
---
*Updated after last session.*
Context updates at three points:
Before each prompt:
beforeSubmitPrompt hook runs context-inject.shAfter summary completes (worker auto-update):
After session ends (fallback):
stop hook runs session-summary.shWhen you run claude-mem cursor install, the project is registered in ~/.claude-mem/cursor-projects.json. This allows the worker to automatically update your context file whenever a new summary is generated - even if it happens from Claude Code or another IDE working on the same project.
To see registered projects:
cat ~/.claude-mem/cursor-projects.json
| Feature | Claude Code | Cursor |
|---|---|---|
| Context injection | ✅ additionalContext in hook output | ✅ Auto-updated rules file |
| Injection timing | Immediate (same prompt) | Before prompt + after summary + after session |
| Persistence | Session only | File-based (persists across restarts) |
| Initial setup | Automatic | claude-mem cursor install creates initial context |
| MCP tool access | ✅ Full support | ✅ Full support |
| Web viewer | ✅ Available | ✅ Available |
When you run claude-mem cursor install:
Context is then automatically refreshed:
Configure claude-mem's MCP server in Cursor for search tools:
search(query, project, limit)timeline(anchor, depth_before, depth_after)get_observations(ids)Access context manually at http://localhost:37777
Ask the agent: "Check claude-mem for any previous work on authentication"
The context file is created at:
<workspace>/.cursor/rules/claude-mem-context.mdc
This is version-controlled by default. Add to .gitignore if you don't want to commit it:
.cursor/rules/claude-mem-context.mdc