I got tired of re-explaining everything.
So I built recall.

A persistent session memory for Claude Code, Codex, and Claude Desktop. Open source, MIT, five minutes to install.

Every Claude session starts the same way. You open a new terminal, start typing, and then spend the first ten minutes doing the ritual re-briefing — what the project is, what you figured out last time, what the current branch is doing, why you made that particular decision three sessions ago. It's exhausting, and none of it is in the diff.

The code remembers. The AI doesn't. That felt like the wrong arrangement.


recall is a small set of shell hooks and CLI commands that give your AI coding tool a memory that outlasts the session. At the end of each session, it indexes what happened. At the start of the next one, it loads the relevant context automatically.

When you feel a session getting long, you run /recall save. It distills the conversation — strips the noise, keeps the decisions — and writes a compact briefing file. Open a new session, run /recall restart 1, and your AI picks up mid-thought.

recall in action
# hit the limit? save before starting fresh
$ /recall save
47 messages · 12 commands · distilled
Saved → restarts/payroll-fix.prompt

# new session — pick up where you left off
$ /recall restart 1
Branch: feature/payroll-fix (2 commits ahead)
Open question: Redis atomicity test at line 84
Context loaded. Continuing.

There's also /recall <topic> for searching past sessions — genuinely useful when you hit the same bug you fixed two weeks ago and can't remember what actually solved it.


It works with the three tools I actually use:

🤖 Claude Code ⚡ Codex 🖥 Claude Desktop

Claude Code gets the full hook integration — context loads automatically. Codex reads from the same index via AGENTS.md. Claude Desktop can browse session history through a filesystem MCP pointing at ~/.claude/projects.

The thing I use most isn't save/restart — it's the search. Being able to ask "what did we figure out about the role assignment bug" and get the session from three weeks ago, with the actual conclusion, is worth the install on its own.

It's MIT, it's five minutes to install, and you can pick only the parts you want. Start with ./install.sh --minimal if you want zero hook overhead and just the history viewer. Add recall and failures when you're ready.