recall_

$ recall · local memory for coding agents

Never lose the context of a coding session again.

Recall indexes your Claude Code, Codex, OpenCode, and Pi sessions into a local SQLite knowledge base. Search, resume, and build on everything you have already done — nothing leaves your machine.

codex · payments3 mo ago

"Webhook signatures fail if the body is re-serialized — verify against the raw bytes."

▸ opencode · api-client · 1 month ago

"Timeout defaults are too aggressive for large payloads —"

▸ pi · recall · 2 weeks ago

"Switched retries to exponential backoff because the upstream API rate-limits bursts and three retries were burning the budget."

$ recall index → ~/.recall/recall.db ✓

fuzzy · regex · local semantic search

$ recall search "why did we change the retry logic" fuzzy · regex · semantic
Why Recall

Your agents remember the work. You don't.

Coding agents produce hundreds of sessions. The decisions live in transcripts you'll never reopen.

FILE № 01

You've already solved this.

A bug you fixed months ago just came back. The fix — and the why behind it — is buried in a transcript you'll never reopen. Recall makes it one search away.

FILE № 02

Every session starts cold.

The migration plan, the naming decisions, the workarounds — all scattered across tools and gone the moment a session ends. Recall keeps the context and lets you attach it to the next one.

FILE № 03

Your history is yours.

Sessions are full of private decisions and half-formed ideas. They belong on your machine, not in someone else's cloud. Recall is local by default.

What Recall does

A searchable memory, in plain Markdown and SQLite.

A/01

Search everything

Fuzzy, regex, or optional local semantic search across all your sessions — filter by source, project, role, or date. Find the exact message where you solved it.

A/02

Browse & resume

See recent conversations and jump back into supported sessions without digging through folders.

A/03

Context banks

Turn hard-won context into plain Markdown you can review, revise, undo, export, and attach to future sessions.

B/01

Knowledge graphs

Extract entities and relationships from your sessions as JSON or DOT. See how the pieces of your work connect.

B/02

Local by default

SQLite FTS5 under the hood. Core indexing and search use only the Python standard library — nothing is uploaded.

B/03

CLI or extension

A standalone Python CLI, or a native Pi extension with /recall, recall_search, and recall_context.

Works where you work

Claude Code Codex OpenCode Pi
Install

Up and running in a minute.

Pi

Pi extension

RECOMMENDED

Adds the /recall dashboard plus the recall_search and recall_context tools. Ask naturally, right where you work.

$ pi install npm:recall-pi

"Search my sessions for the retry backoff change."

CLI

Standalone CLI

Core search has no required third-party dependencies. Install the recall command for the full experience.

$ python3 recall.py index

$ python3 recall.py search "deadlock investigation"

$ python3 recall.py recent

Full usage guide →
See it in action

Search, review, and reuse — from the terminal.

Animated walkthrough of Recall search, Pi tools, and context banks
Search & session tools Fuzzy, regex, and semantic search over every indexed session.
Recall reviewing an update to a context bank with Apply, Revise, and Cancel controls
Context bank review Every update is reviewed before it overwrites saved context.

# local by default

Yours, on your machine.

Recall reads local transcripts and writes its index to ~/.recall/recall.db. Core indexing and search use only the Python standard library and never send your conversations anywhere. Optional semantic search downloads and runs an embedding model locally.

01
Nothing uploaded Your transcripts stay on disk. The index is local SQLite.
02
Stdlib-only core Indexing and search need no third-party packages at all.
03
Local embeddings Optional semantic search runs the model on your machine.

Read the docs

Installation, search, context banks, architecture, and releases.

Browse documentation →

Read the blog

How Recall is built, and why it works the way it does.

Browse the blog →