Recall

Local-first memory for coding agents

Recall

A repo-memory compiler that learns from corrections, review feedback, and local project facts, then injects only the trusted instructions your coding agents need.

brew install --cask edihasaj/tap/recall

macOS 15+ app. Node CLI for local development. Free and open source.

claude-code · session start
SessionStart hook fired · 14ms · injected into agent context
Recall (edihasaj/recall):

## Rules
- after bumping package.json, bump package-lock.json + add a CHANGELOG entry
- if you touched docs/, run `npm run docs:check` before commit
- [global] never bypass commit signing (-c commit.gpgsign=false)
- prefer pnpm over npm in this repo; conventional commits required

## Commands
- dev: tsup --watch
- gate: typecheck && test && docs:check

## Gotchas
- ~/.recall/recall.db: snapshot before destructive migrations
- macOS code-sign cert lives in 1Password, not the repo
Claude

Touched docs/site.css and bumped package.json to 0.5.2 — ran docs:check, synced package-lock.json, added a CHANGELOG entry, and prepared a conventional commit. Signing on; ready to push when you say.

01

Not a transcript archive.

Recall turns repeated corrections and operational feedback into compact repo instructions.

02

Quality before injection.

Health scores, maturity gates, dedupe, confirmations, and rejection keep noisy memories out.

03

Native agent wiring.

Use the CLI, daemon, MCP server, and lifecycle hooks for Codex, Claude Code, Gemini CLI, and Qwen.

Scan

Bootstrap local facts

Recall reads repo docs, config, scripts, and history so cold-start context is useful immediately.

Learn

Capture corrections

Report corrections, review feedback, and session outcomes through CLI, MCP, daemon endpoints, or hooks.

Score

Keep memory clean

Quality profiles decide when memories graduate, merge, get demoted, or stay out of the prompt.

Inject

Send only what matters

Agents receive concise, relevant instructions through lifecycle hooks and MCP without manual lookup.

What gets installed

A small status surface. The work happens in hooks.

Recall.app is a quiet little window — daemon health, where memories live on disk, and a couple of buttons. The actual capture and injection runs through MCP and the SessionStart / UserPromptSubmit / SessionEnd hooks of your coding agent. There's no UI to babysit.

Recall.app status panel showing daemon Running, Health OK, Setup Ready, paths to local data and logs, and controls for Install + Start, Start, Stop, Restart, Open Data Folder, Open Logs, Refresh.
Recall.app — daemon status and controls.

Install

Run it as a macOS app, CLI, or daemon.

GitHub Releases ship the app bundle. Homebrew cask installs update with brew upgrade. Source builds stay simple for contributors.

brew install --cask edihasaj/tap/recall
recall setup --yes
recall doctor
git clone https://github.com/edihasaj/recall.git
cd recall
npm ci
npm run build
npm test