GitHub - raiyanyahya/recall: Stop wasting tokens and re-explaining your project every session. Recall gives Claude Code durable memory — entirely offline.
Short summary
Recall logs Claude Code sessions locally, then uses a built-in Python summarizer (TF-IDF + TextRank) to create a compact context.md resume file for the next session. It never calls external APIs, saves you model tokens, and keeps all data on your machine.
- Recall summarizes Claude Code session logs entirely offline using TF-IDF + TextRank, with no LLM API calls and zero extra token cost.
- Each save produces a ~1-2K token context.md distilling project goal, files touched, commands run, and next steps from the full history.md log.
- It auto-redacts common secret patterns before writing, though manual review of history.md/context.md is still advised before committing.
- Setup is drop-in via a plugin marketplace command with no pip install or local model required, controlled by seven config keys in .recall/config.
Full summary
When you run Claude Code locally, every session starts “cold” with no memory of what came before. Recall solves that by keeping a complete, append-only log in .recall/history.md and shaving it down into a compact .recall/context.md each time you save (manually with /recall:save or automatically on session end). That context file—about 1–2K tokens—captures your project goal, files touched, commands run, open threads and next steps. Since the summarization runs entirely on your machine via a Python script (TF-IDF sentence vectors, cosine-similarity graph, TextRank) and never calls an LLM API, you spend zero extra model tokens beyond your existing subscription.
Unlike CLAUDE.md, where you hand-write instructions, or the --resume flag that reloads a full transcript, Recall’s summary is automatic, deterministic and tiny. You log prompts, responses and actions to history.md as they happen, then let the local summarizer pick the most central sentences and wrap them with deterministic facts from your transcript and git status. No network calls ever, no API key needed, no third-party model. It even redacts common secret patterns before writing, though you should still review history.md and context.md before committing.
Installation is drop-and-play in your project root—no pip install, no local model to spin up, no configuration hassles. Add the plugin via `/plugin marketplace add raiyanyahya/recall` and `/plugin install recall@reca`. The default settings live in .recall/config and include eight summary sentences, redaction on, git stats included, and an output cap of 200 000 input chars. You can pause logging with a capture-paused file or tweak any of the seven config keys (output_dir, capture_history, auto_save_context, summary_sentences, redact, include_git, max_input_chars). The result is a zero-friction memory layer for Claude Code with full privacy and no extra cost.