Open Source Alternatives LogoOpen Source Alternatives
AlternativesBlogAdvertise
Open Source Alternatives LogoOpen Source Alternatives

Stay Updated

Subscribe to our newsletter for the latest news and updates about Alternatives

Open Source Alternatives LogoOpen Source Alternatives

Handpicked Open Source Alternatives to Paid Softwares

Product
  • Categories
  • Tag
  • Advertise
Resources
  • Blog
  • Collection
  • Submit
  • Advertise your tool
Company
  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Sitemap
Alternatives
  • Claude Code
  • Jira
  • Notion
  • Slack
  • Linear
  • Wispr Flow
  • All alternatives
Copyright © 2026 All Rights Reserved.
Home/Categories/Developer Tools/Recall
icon of Recall

Recall

Open source alternative to Mem0, ContextPool and Zep

Track Claude Code sessions locally and generate a compact context summary between sessions, with no API key and no network calls required.

755 starsPythonMITActive this month
Visit websiteGitHub repo
Image for Recall
Contents
  1. 01Who Recall is for
  2. 02The problem it solves
  3. 03How it solves it
  4. 04Strengths and trade-offs
  5. 05Recall vs alternatives
  6. 06Quick start
  7. 07Tech stack
  8. 08FAQ
  9. 09Similar open-source tools
TL;DR

Recall is a Claude Code plugin that captures session activity locally and produces a compact context summary between sessions, replacing the need to re-explain your project at each start. It uses TF-IDF + TextRank summarization running entirely on your machine, with no API key and nothing sent over the network. MIT licensed and installed via the Claude Code plugin marketplace. Best for developers on long projects who want durable session memory without cloud dependencies.MIT · Python · 755 stars · Active this month

who it's for

Who Recall is for#

Solo developers resuming long-running projects

When work on a project spans days or weeks of Claude Code sessions, Recall provides a compact digest of what each session accomplished rather than requiring you to re-explain context from scratch. The `auto_save_context: "on_end"` option updates the digest automatically at the end of every session, so you never have to run `/recall:save` manually.

Skip if:

If your sessions are short and self-contained with no state to carry forward, maintaining a session log adds overhead without meaningful benefit.

Small teams sharing Claude Code context in git

When `.recall/` is committed, every team member resumes from the same shared session history. The log captures files touched, commands run, and decisions made, giving new contributors a quick read on recent work without requiring a separate handoff document.

Skip if:

If repo contributors include people you do not fully trust, committing `.recall/` introduces a prompt-injection surface. Keep `.recall/` git-ignored and treat session memory as personal in that case.

Developers managing Claude Code token consumption

Resuming from a 1-2K token context digest costs far less than replaying a full prior transcript or re-explaining a complex codebase at the start of each session. Recall's local summarizer generates the digest without spending any model tokens. Over many sessions on a large project, this difference in token consumption is material.

Skip if:

If you are on an API billing plan where per-session token differences are negligible, or if you need the full fidelity of the resume flag, the compact digest is a less important optimization.

opencode users sharing a project with Claude Code users

Because both tools write to the same `.recall/` files, a developer using opencode on one machine and Claude Code on another can share a single session history and context digest. The opencode installer sets up the integration once per project and requires no ongoing configuration.

Skip if:

The opencode path loads `context.md` through its `instructions` mechanism without untrusted-data fencing. If the repo is shared with contributors you do not fully trust, use the Claude Code path instead.

the problem

The problem it solves#

Claude Code starts every session without memory of previous work. Developers on multi-day projects spend the first minutes of each new session re-explaining the current state of the codebase, what was decided last time, and where to pick up. On longer projects this re-orientation compounds: the more context you need to carry forward, the more tokens you spend re-establishing it, which erodes the effective capacity of each session.

The built-in alternatives each cover part of the problem without solving it fully. CLAUDE.md holds hand-written instructions but requires manual upkeep and does not record what actually happened. The resume flag replays a prior conversation at full transcript cost, making it token-heavy and tied to a single machine. Context compaction condenses within a session but does not produce a portable record you can open days later. None of these leaves you with a compact, readable summary of what each session accomplished and where it stopped.

how Recall solves it

How it solves it#

Local TF-IDF + TextRank summarizer

Produces `context.md` using extractive summarization running entirely on your machine. The algorithm ranks sentences by TF-IDF cosine similarity and applies PageRank power iteration to select the most central ones. No LLM call is made; the summarizer is vendored Python with no runtime dependencies. If numpy is present it accelerates the matrix math; without it, a pure-Python fallback runs the same algorithm with identical results.

Automatic session capture via hooks

The `Stop` and `SessionEnd` hooks append session activity to `.recall/history.md` as you work, with no manual steps required. Capture is incremental: only new turns from the current session are appended, keeping the log append-only and the write footprint small. A `.capture-paused` file pauses logging for a project without editing any configuration.

Compact context digest for session resume

At the start of each session, the `SessionStart` hook surfaces `context.md` and asks whether to resume from it. The digest includes the project goal, files touched, commands run, next steps, and a `git diff --stat`, condensed to roughly 1-2K tokens. That is a fraction of the cost of replaying a full prior transcript, which reloads the entire conversation history.

Configurable secret redaction

Before writing `history.md` or `context.md`, Recall runs a best-effort pass stripping common secret shapes: API keys, tokens, `.env` assignments, and PEM keys. Redaction is enabled by default via `redact: true` in `recall.config.json`. The README notes this is best-effort, not a guarantee, and recommends reviewing before committing `.recall/` to version control.

OpenCode opt-in integration

The same `.recall/` files work with opencode via a one-time installer that generates a plugin shim, a `/recall-save` command, and an `opencode.json` entry pointing at `context.md`. Memory is shared across both tools: a Claude Code user and an opencode user on the same repo write to the same `history.md` and can resume each other's work.

strengths · trade-offs

Strengths and trade-offs#

Strengths

  • Zero additional cost on a Claude Code subscriptionThe summarizer is a local algorithm, not an LLM call, so capturing and updating memory spends zero model tokens. Resuming from a compact `context.md` (~1-2K tokens) instead of re-explaining from scratch also reduces per-session token consumption, which stretches a subscription's usage limits without adding any separate charges.
  • Nothing sent over the networkNo network call is made anywhere in Recall. Your session transcripts, which may contain code, file paths, and occasionally credentials, are summarized and stored only on your own machine. Unlike cloud-based AI memory services that send context to a remote model endpoint, the privacy guarantee is structural: there is no network path to violate.
  • Plain-markdown output that is diffable and portable`history.md` and `context.md` are plain text files in `.recall/`. They are readable in any editor, diffable in git, and committable as shared team memory. Because they are not tied to a database or proprietary format, switching tools or archiving a project's session history requires no export step.
  • No runtime dependencies to installThe TF-IDF + TextRank summarizer is vendored inside `summarizer.py`, with numpy as an optional accelerator that is never required at runtime. There is no `pip install` step for the plugin itself. The only system requirement is Python 3.9 or later, which is standard on most developer machines.

Trade-offs

  • -Extractive summaries, not semanticThe TF-IDF + TextRank summarizer selects and ranks actual sentences from your session transcript; it does not generate new text or understand intent. Summaries are deterministic and reproducible, but may miss conceptual connections, carry boilerplate from low-signal turns, or surface sentences that ranked high statistically but are not the most editorially useful. An LLM-generated summary would surface intent more reliably, at the cost of tokens and network access.
  • -Committed `.recall/` is a potential prompt-injection surfaceAt session start, `context.md` is fenced and labeled as untrusted reference data, not instructions. Claude asks before relying on its content. If `.recall/` is committed as shared team memory, any collaborator with write access can modify `context.md`, creating a prompt-injection vector. The README recommends keeping `.recall/` git-ignored if you do not fully trust all repo contributors.
  • -OpenCode path lacks untrusted-data fencingIn the opencode integration, `context.md` is loaded through the `instructions` mechanism rather than fenced as untrusted data. This removes the protection the Claude Code path provides against a crafted context file. The README flags this difference explicitly and recommends the opencode path only with collaborators you trust.
versus alternatives

Recall vs alternatives#

Recall vs Commercial AI Memory Services

Recall and commercial AI memory tools address the same underlying need (preserving context across sessions) but split on where summarization happens and what that costs.

FeatureRecallCommercial AI Memory
LicenseMITProprietary
Summarization locationLocal PythonRemote LLM via API
Network callsNoneRequired
Cost per summarizationNone (local algorithm)API usage fees
Output formatPlain markdown filesProprietary database
Summary typeExtractive (sentence selection)Generative (LLM-written)
Self-hostingRuns on your own machineTypically not available

Recall is the better choice when privacy matters (transcripts may contain code or credentials), when you want zero marginal cost for memory operations, or when you need output that is diffable and committable to version control. Because summarization is a local Python script, it runs offline, is reproducible, and adds nothing to an API bill. The plain-markdown files in .recall/ require no special tooling to read, archive, or share with teammates.

Commercial AI memory tools have an advantage in summary quality: a remote LLM can understand intent, make inferences, and write coherent prose rather than extracting the statistically central sentences from a transcript. If summary richness is the primary concern and network access, usage billing, and data residency are not constraints, a cloud-based tool such as mem.ai will produce more natural-reading summaries. Commercial tools also typically support a broader range of input types beyond coding session transcripts.

For the specific case of Claude Code session memory, Recall's focused scope and full local execution address the cold-start problem without adding a new service dependency or billing surface. For teams needing AI-generated, semantically rich summaries and who are comfortable with cloud data handling, a commercial memory service remains the better fit.

install · quick start

Quick start#

bash
Install via the Claude Code plugin marketplace, or clone the repo to set up the opencode integration.

```bash
/plugin marketplace add raiyanyahya/recall
/plugin install recall@recall
git clone https://github.com/raiyanyahya/recall ~/recall
```
tech stack · detected from GitHub

What it's built on#

Languages
PythonTypeScript
frequently asked

FAQ#

Does Recall send my session data or code anywhere?

No. Recall makes no network calls and uses no API key. All summarization runs as a local Python script on your machine. Your session transcripts, which may contain code, file paths, and sensitive values, are read and written only within your project directory.

Does Recall replace Claude Code's built-in memory features?

Recall is complementary, not a replacement. CLAUDE.md holds hand-written instructions you curate; Recall automatically records what each session did. The resume flag replays a full prior transcript; Recall produces a compact digest (~1-2K tokens) for the start of a new session. The three tools cover different use cases and are designed to work alongside each other.

Is Recall free to use?

Yes. Recall is MIT licensed and free to run on your own machine. The summarizer is local Python with no runtime dependencies to pay for. The only cost is the standard Claude Code subscription you already have; Recall adds no usage charges of its own.

How do I install Recall in Claude Code?

Install it through the Claude Code plugin marketplace with two commands: /plugin marketplace add raiyanyahya/recall, then /plugin install recall@recall. No pip install step is needed; the summarizer is vendored. For opencode, clone the repo and run python3 ~/recall/scripts/install.py --opencode --project /path/to/your/project once per project.

What if the session summary misses something important?

The TF-IDF + TextRank summarizer selects actual sentences from your session transcript rather than generating new ones, so it cannot hallucinate facts not in the log. However, sentence selection is statistical: boilerplate or low-signal sentences may rank higher than intended. You can adjust the summary_sentences count in recall.config.json to keep more or fewer sentences, and you can always read history.md for the full unfiltered record.

also worth a look

Similar open-source tools#

hindsight

hindsight

Self-hosted memory that makes AI agents smarter over time

45.2KPythonMIT
ai-memory

ai-memory

Persist AI agent context across sessions and tool switches

8.7KRustMIT
mex

mex

Persistent memory and code graph for AI coding agents

1.8KTypeScriptMIT
claude-mem

claude-mem

Stop re-explaining your codebase to every new agent session

95.4KTypeScriptApache-2.0
rakazo

rakazo

AI teammates you own: your keys, your model, your machine.

3.3KTypeScriptApache-2.0
Pstack Claude

Pstack Claude

Structured coding workflows for Claude Code, Codex, and Pi

1.1KJavaScriptMIT

Repository

Stars
755
Forks
44
License
MIT
Latest
v0.4.0
Last commit
27 days ago
Last verified
Oct 5, 2026
Repo
raiyanyahya/recall ↗

Additional details

Language
Python
Open issues
4
Contributors
2
First release
2026

Categories

Developer ToolsAI & Machine LearningProduct & Project Management

Tags

Knowledge ManagementDeveloper ToolsAI Coding AssistantLocal-firstWorkflow Automation