recall
Transparent cross-chat memory for AI coding sessions. Every conversation is saved as a clean, readable markdown note you own, secrets scrubbed, and your recent memories are loaded back into each new chat. No black-box database. No cloud. Your memory, in your files.
npx recall-memory install
That's it. From then on, when you open a new Claude Code chat, it remembers the last ones.
The problem
You have a great session with Claude Code or Cursor. You solve something hard. Then you open a new chat and it remembers nothing. Every "memory" tool either lives in a database you can't read, or ships your conversations to someone's cloud. recall does neither.
How it works
recall uses Claude Code's native hooks:
- When a chat ends → it reads the transcript, writes a clean summary note (what you worked on, files touched, where you left off), and scrubs any secrets before saving.
- When you start a new chat → it loads your recent memories back into context.
Your memories are plain markdown in ~/.recall/memories/ — readable, greppable, and yours. Point RECALL_DIR at your Obsidian vault and they show up in your notes:
export RECALL_DIR="$HOME/vault/chats"
Commands
recall install
recall list
recall load
recall save <file.jsonl>
recall uninstall
Why it's different
| Where your data lives | your own markdown files | their database |
| Can you read it? | yes, it's plain text | no |
| Leaves your machine? | never | yes |
| Secrets in your chats | scrubbed before saving | stored as-is |
Secret-safe by design
Developers paste API keys into chats while debugging. recall redacts AWS/Stripe/GitHub/OpenAI/Anthropic keys, JWTs, and DB connection strings before anything is written, so your memory never becomes a place secrets leak from.
MIT. Built by Harrison Songolo.