recall

Your agent forgot. Your machine didn’t.

Every conversation you’ve had with Claude Code or Codex is still on your disk. recall finds the one you’re thinking of in 30 ms — even when you’ve forgotten the words you used.

curl -fsSL https://raw.githubusercontent.com/mayberuk/recall/main/install.sh | sh

macOS · Linux · Windows. Checksum verified. Nothing left running.

Typical search
30 ms
History it reads
all of it
Setup per project
none
Background process
none
Your data leaves
never

$ recall findrun from src/payments

ConversationDateProjectBranchFound
6e2b8d152026-06-03github.com/acme/paymentshotfix/dedupe4 matches
you Duplicate charges again. Two merchants hit the same idempotency key and one saw the other’s receipt…
agent Scope the idempotency key per merchant, never globally. The key is a string the client chooses, so…
3b8a2c942026-07-21github.com/acme/paymentsmain1 match
agent …a retry there needs the idempotency key to be safe, or it must not be retried at all.

The marked one is on hotfix/dedupe — a branch deleted locally months ago. Agents file conversations by folder, so one project scatters across every clone you’ve had. recall recognises a project by its git remote, so all of them are one history.

You won’t remember the words you used

So it doesn’t make you guess. build finds iosBuild. retries finds retry. Case never matters.

no turns carry "connection pooling" in github.com/acme/payments
  connection          14 turns carry it, but not together with the rest
  pooling             no turn carries it; nearby: pool, pooled, pools
found elsewhere: 5 hits in 1 other repo
  github.com/acme/infra                    5 hits · 1 session
run: recall find 'connection pooling' --all

Empty-handed, it still hands you the closest words in your own history — and points at the project the answer is actually in.

Ask when, not just where

Put any topic on a timeline across your whole history.

“rate limit” · first 12 May · last 21 July · 8 mentions

  1. FEB
  2. MAR
  3. APR
  4. MAY 6
  5. JUN
  6. JUL 2

Your agent can search it itself

recall is an MCP server too. Claude Code and Codex query your history mid-task, without you pasting anything.

recall mcp install claude-code

It reaches for it unprompted

“Have we hit this before?” is enough. You never say the word recall.

Answers stay small

A few hundred tokens, not a transcript.

Read-only, always

Five tools. None can write, delete or alter anything.

Nothing goes anywhere

Your machine, your files. No account, no upload.

It tells you what it skipped Every time

Most search narrows quietly, so “no results” reads as “never happened.” recall ends every answer with what it did and didn’t look at.

If a limit isn’t printed there, it wasn’t applied.

Fast because it reads everything

No index to build, rebuild, or go stale. The conversation is only about 3% of what your agent writes down — the rest is command output.

A typical searcheverything, from cold30 ms
Command output tooroughly 20× the text93 ms
A search that finds nothingevery byte read first113 ms

143 conversations · 1.52 GB. Benchmarks run against a generated history, so they reproduce on your machine — the numbers.