Give your AI agent memory across sessions. Search and recall past conversations from Claude Code and Cursor history — no context lost, no re-explaining.
AI coding agents have amnesia. Close the terminal, start a new session, and everything is gone. That debugging session from yesterday? The architectural decision from last week? The branch name you created three days ago? All lost. Every session starts from zero.
Except it's not actually lost.
Claude Code saves every conversation in ~/.claude/history.jsonl — a hidden JSONL file with
every prompt you've ever sent, plus full session transcripts in ~/.claude/projects/.
Cursor saves full conversation transcripts in
~/.cursor/projects/<workspace>/agent-transcripts/ — complete JSONL files with every message, tool
call, and result.
The data is there. Your agent just doesn't know how to find it.
This plugin teaches your agent to search its own conversation history, find relevant past sessions, and bring back exactly the context you need — without filling up your context window with raw dumps.
Instead of re-explaining everything:
You: "Last Tuesday we found a bug in the payment flow and started fixing it, but I got pulled into a meeting. What did we find? Let's finish it."
Agent (searches history, finds the session): "Found it — Feb 18 session in the payments project. You discovered the webhook was firing before the database transaction committed, causing race conditions. You started a fix in
middleware/webhook.tson branchfix/webhook-race. The PR wasn't created yet. Want me to continue from there?"
No copy-pasting. No digging through terminal scrollback. No "can you look at the git log and figure out what I was doing."
npx skills add ofershap/conversation-memoryOr copy skills/ into your .cursor/skills/ or .claude/skills/ directory.
| Type | Name | Description |
|---|---|---|
| Skill | conversation-memory |
How to find, search, and extract context from conversation history |
| Rule | conversation-memory |
Always-on rule that triggers history search when users reference past sessions |
| Command | /recall |
Search past conversations by keyword, date, or project |
| Command | /history |
Show recent conversation history in a scannable table |
| Tool | Location | What's Stored |
|---|---|---|
| Claude Code | ~/.claude/history.jsonl |
Global index of every prompt (keyword-searchable) |
| Claude Code | ~/.claude/projects/*/ |
Full session transcripts, summaries, metadata |
| Cursor | ~/.cursor/projects/*/agent-transcripts/ |
Full conversation transcripts per workspace |
Both tools store history as JSONL files. The skill teaches the agent to search efficiently (grep first, read targeted chunks) instead of loading entire files into context.
Search your conversation history for specific topics, decisions, or past work.
/recall auth bug we found last week
/recall what branch did we create for the migration
/recall continue the performance optimization we started
Without arguments, it guides you through choosing a search strategy.
Show your most recent conversations in a scannable table:
| # | Date | Project | Topic |
|----|--------------------|-----------|-------------------------------------------------|
| 12 | Feb 20, 2026 16:45 | myapp | Debug payment webhook race condition... |
| 11 | Feb 20, 2026 09:30 | myapp | Add OAuth2 Google login flow... |
| 10 | Feb 19, 2026 14:22 | api | Refactor auth middleware to support RBAC... |
AI agents store everything but remember nothing. The conversation data is already on your disk — in well-structured JSONL files, with timestamps, project paths, and full transcripts. No API needed, no cloud sync, no extra setup.
What's missing is the behavior: knowing where to look, how to search efficiently, and what to extract without blowing up the context window. This plugin adds that behavior.
Inspired by Kent Gigger's discovery that Claude Code saves full conversation history in hidden files. This plugin extends that idea to Cursor and packages it as a reusable skill.
The skill teaches the agent three things:
- Where history files live — exact paths for Claude Code and Cursor, directory naming conventions, file formats
- How to search efficiently — grep/rg for keywords first, read only matching sessions, never load entire history files
- How to extract useful context — summarize decisions and outcomes, don't dump raw transcripts, present multiple matches as options
The always-on rule ensures the agent activates this behavior automatically when you say things like "remember when we..." or "yesterday we were working on..." or "continue what we started."
AI agents need two kinds of memory — and most people confuse them:
| Episodic Memory (this plugin) | Learned Memory (continual-learning) | |
|---|---|---|
| Question | "What happened in that session?" | "What should the agent always do?" |
| Example | "We found a payments bug last Tuesday" | "Always use spaces, not tabs" |
| Trigger | On-demand — you ask for it | Automatic — runs after every session |
| Output | Context from a specific past session | Permanent rules in AGENTS.md |
| Works with | Claude Code + Cursor + 41 agents | Cursor only |
Cursor's continual-learning plugin extracts recurring preferences and corrections into AGENTS.md automatically. It's great for behavioral patterns the agent should always follow. Conversation-memory is for the other half: recalling specific past sessions, decisions, branches, and context on demand.
They're complementary. Install both.
- continual-learning — Cursor's official self-learning plugin (auto-extracts preferences to AGENTS.md)
- think-first — Plan-first workflow
- prompt-compression — Compress context for AGENTS.md
If this helped your workflow, a star helps others find it.
MIT