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
npm i -g @edihasaj/recall

macOS 15+ menu bar app, Linux CLI, or Windows system-tray companion. Requires Node.js 22+. 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.

v0.7 · web dashboard

See everything your agents have learned.

Open Dashboard in Browser from the menu bar (or run recall webui start) and the bundled SPA serves a knowledge graph, timeline, sessions feed, and contradictions view — local-only on http://localhost:7891, no cloud, no account.

Recall web dashboard: clicking through Memories, the knowledge graph (2D and 3D), Timeline, and Sessions.
End-to-end walkthrough of the dashboard.
Knowledge graph 2D layered view grouped by entity kind: files, functions, libraries, tools, commands, concepts.
Knowledge graph. 2D layered view + 3D force layout. Entities are extracted from every memory; contains-match search filters across the whole set, not just the top-N.
Timeline of activity events from coding agents: tool calls, prompt submits, captures, with filter chips for repo/source/type.
Timeline. Filterable feed of every daemon event with click-to-expand request/result JSON and deep links into linked memories.
Sessions list showing per-session duration, event count, and event-type chips across multiple coding-agent runs.
Sessions. Every distinct session across MCP, hooks, and CLI traffic with duration, type chips, and inline drilldown.

Install

Install. Open. That's it.

On macOS: one Homebrew command, then click Install + Start in Recall.app. On Linux: one curl | bash — the installer runs npm i -g and recall setup --yes for you. On Windows: one PowerShell line — the installer drops the system-tray companion in %LOCALAPPDATA%, registers autostart, and launches. Every path auto-detects supported coding agents and wires MCP + lifecycle hooks for you.

From the next session onward, Recall injects rules and gotchas into your agent's context automatically. The CLI is there if you want to inspect or override — you don't need it for the common path.

# macOS — install & done
brew install --cask edihasaj/tap/recall
# open Recall.app → Install + Start → magic
# Linux — one-liner installer
curl -fsSL https://recallmemory.dev/install.sh | bash
# or do it by hand:
#   npm i -g @edihasaj/recall && recall setup --yes
#   recall daemon install   # systemd --user service
# Windows — PowerShell installer
irm https://recallmemory.dev/install.ps1 | iex
# or do it by hand:
#   npm i -g @edihasaj/recall && recall setup --yes
# tray icon appears; right-click → Open Dashboard
# contributors only — build from source
git clone https://github.com/edihasaj/recall.git
cd recall
npm ci
npm run build
npm test