fforget
Measured, not promised: the recall dial — 89% instant · 95% deep · 97% max →

Tell Claude Code once.
Codex remembers.

One memory across your AI tools — every session opens already briefed: current goal, next action, what changed while you were gone. And when a question deserves depth, turn the dial: deep recall reads a hundred memories and answers in seconds.

curl -fsSL forget.sh | sh
or just tell your AI: “Install forget.sh” — this site explains itself to agents.
~/your-repo — claude MEMORY ON
$ claude ▸ forget · session capsule Current goal: beta-launch — Show HN Next: record the demo video Open loop: "sent the pricing inquiry" — 6 days, unverified > ⏺ forget · search_memories · dial high reading 40 candidates… Paddle was chosen as merchant of record — KYB review passed, and it handles global tax remittance for you. [decision · Jul 13 · via Claude Code] > ⚠ conflict zone — a later fact supersedes this ✗ "payments provider is Stripe" Jul 2 · superseded ✓ "Paddle is merchant of record" Jul 13 · receipt

This is the product. The capsule, the receipt, and the conflict alert are real hook output.

Using an AI agent? forget's llms.txt has setup instructions for LLMs.

WORKS WITH
01 · The dial

One dial. Four gears.
Every gear measured.

How often the right memory lands in the top-6 results — on our hardest benchmark: 120 questions, six question types, multi-part answers scored by coverage.

low · instant search, no LLM
89.2%
high · an LLM reads 40 candidates
~3 SECONDS
95.0%
extra · reads 100, full text
~5 SECONDS
96.7%
ceiling · exhaustive read
99.2%

The dial lives where you work — /forget in your editor, a red-thread gauge in the menu bar. Instant answers all day; depth for the questions that deserve it.

Top-6 recall, stratified across six question types (20 each); questions with multi-part answers are scored by coverage. The gear names are the contract — the engines behind them are replaceable, and every number above was measured before its engine shipped (the harness is public →). Deep gears run on a local LLM or the certified cloud model; the ceiling row reads every stored memory in full, priced beyond any dial stop. Our earlier end-to-end result — 78.4% ± 0.4 on LongMemEval, three seeds, spread published — remains in the archive →

02 · The product

You don't ask it to remember.
It speaks up.

Three surfaces the hooks put in front of you — real output, not concept art.

Every session opens briefed

The capsule: your goal, next action, parallel work, and any claim that's gone stale.

▸ SessionStart · capsule Current goal: beta-launch — Show HN Next: record the demo video Parallel: yc-application — due Sun Open loop: "sent pricing inquiry" recorded 6 days ago, unverified

It catches contradictions

About to act on a fact that was later corrected? Both versions, labeled, before you commit.

▸ mid-conversation · push recall ⚠ conflict zone — two versions ✗ payments provider is Stripe Jul 2 · superseded ✓ Paddle is merchant of record Jul 13 · decision · receipt

One command tells the truth

Config, rules, hooks, scope, and a live MCP round-trip — checked end to end.

$ npx forget-connect doctor Hooks: registered, python3 ok Claude Code: rules current Codex: rules current Scope: verified MCP: forget-mcp · 42 tools
03 · How it works

Sixty seconds to install.
Zero behavior change.

  • 01

    Install once

    One local server, one connect command. Your existing MCP setup is preserved and backed up; disconnect reverses everything.

  • 02

    It remembers quietly

    Decisions surface from your conversations and your git history. The observation gate keeps facts and forgets junk — nobody writes documentation.

  • 03

    It speaks up before you ask

    A context capsule opens every session with your open work. Relevant memories are pushed mid-conversation — and a conflict alert shows both versions when a fact was later corrected.

  • 04

    Ask "why" from any tool

    Claude Code, Codex, or Claude Desktop — the answer comes back with the commit or conversation that decided it. Sync arrives sealed E2EE · IN DESIGN

The three-minute proof, once installed: start a task, kill the session, reopen. A stateless agent greets you — yours opens with a handover: goal, next step, what changed. That moment is the product.

04 · Engines

Deep recall needs a model.
Yours, or ours.

The dial's high and extra gears read your memories with an LLM. Two ways to power them — both measured, both optional.

FREE · FOREVER

Bring your own GPU

  • Run Ollama or LM Studio — forget attaches automatically, installs nothing
  • Certified model tiers by hardware, so a MacBook Air never gets a bad default
  • Everything stays on your machine, fan noise included
FORGET CLOUD · $8/MO

Depth without the heat

  • 2,000 deep recalls a month on the certified model, ~2.5 s answers
  • Recall requests pass through and are gone — we keep the bill, not the memory
  • Cancel anytime; the dial quietly returns to local
See forget cloud →
05 · Field report

Our first user review
was written by an agent.

A coding agent (GPT-5.6, Codex) used forget across a multi-day trading-system build — data pipelines, safety constraints, live processes — and filed a structured review: acceptance criteria, regression scenarios, scores.

“Resuming long-running work: 8/10. The most valuable layer isn't generic recall — it's task state: progress, next actions, blockers, and the safety boundaries we agreed on, restored across sessions.”

Every defect it reported was reproduced, filed, and fixed — two releases within 24 hours. The issues are public →

Your model provider already reads your prompts. There is no reason your memory layer should be a second reader.
06 · FAQ

Questions, answered straight

Is my memory really local, or "local until it isn't"?
Everything lives in one SQLite file at ~/.forget — storage, search, and memory building all run on your machine, offline included. Local isn't a demo mode; it's a configuration we benchmark: instant search alone lands the right memory in the top-6 results 89% of the time, and the deep gears run on a local LLM if one is running. There is no account, no telemetry, and no server of ours in the loop unless you explicitly turn the cloud engine on.
Do local and cloud score the same on the deep gears?
Almost — and we publish the gap instead of hiding it. The numbers above were measured on the certified model at full precision, which is what forget cloud runs. The same model quantized for a 16–24 GB laptop lands about four points lower and takes ~20 s instead of ~3 s — a real cost, labeled, not a paywall: your hardware, your trade. On a 64 GB machine a larger local model matches or beats the cloud.
How is this different from ChatGPT or Claude's built-in memory?
Built-in memory lives on the provider's servers, works only inside that vendor's products, and shows you conclusions without provenance. forget is the opposite on all three: your machine, every tool that speaks MCP (Claude Code, Codex, Claude Desktop), and every answer carries a receipt — the commit or conversation that decided it, plus a trust label telling your agent whether it's safe to act on.
What happens when a fact changes?
The old fact isn't deleted — it's superseded, keeping its history and turning red (reference only). The new fact links back to what it replaced. And if you're about to act on the stale version mid-session, the conflict alert shows you both, labeled, before you commit. Memory that silently overwrites itself is how agents confidently do the wrong thing.
What are the trust labels for?
Provenance, made actionable. Green: you said it or a tool observed it — safe to act on. Yellow: an agent inferred or self-reported it — verify before acting on it in the real world. Red: superseded. Agents treat their own summaries as gospel; the labels are what stop an unverified "I sent that email" from becoming a follow-up to an email that never existed.
Does anything ever leave my machine?
Not by default, and never silently. Local processing is the default; the cloud engine is an explicit, labeled opt-in — and when it's on, deep-recall requests pass through our relay to be answered and are gone: not stored, not logged. We keep the bill, not the memory. When E2EE sync ships, memories will be encrypted on your device before touching any server — ours included.
What does it cost?
The local product is free and Apache-2.0 open source — that's permanent, not a promotional period. You never pay for your own machine remembering things. The paid layer is forget cloud Pro: $8/month for 2,000 deep recalls on the certified model, for people who want depth without the fan noise. E2EE sync across devices remains on the roadmap.
How do I get rid of it?
Completely, in two steps: npx forget-connect disconnect restores your original configs from backups and removes the hooks — third-party settings are preserved byte-for-byte. Then delete ~/.forget and your memories are gone. No account to close, no export request, no retention window. It's your file.
What's supported today, honestly?
macOS and Linux; Claude Code, Codex, and Claude Desktop via MCP. The hooks layer (session capsule, push recall, conflict alerts) runs on Claude Code today. Hosted: exactly one thing — the optional cloud engine behind the dial's deep gears. Not shipped yet: Windows, E2EE sync — the same list we publish in llms.txt.
07 · Trajectory

Shipping in the open

  • Aug 4The recall dial + forget cloud. Four measured gears on one dial — /forget in your editor, a red-thread gauge in the menu bar — an engine axis (local · BYO · cloud), and forget cloud Pro live at $8/month.
  • Aug 10.3.9 — stale installs stop suffering silently. A version canary rides every session capsule, unknown arguments are never eaten without a word, and forget-server upgrade is the one prescription.
  • Aug 10.3.8 — the boundary release. Your projects stop leaking into each other: the repo you're in is the memory you get, detected from cwd — never configured. The task ledger honors the same line.
  • Jul 310.3.7 — semantic by default. An unconfigured install now embeds with a real local model out of the box; the hash fallback survives only as an explicit escape hatch.
  • Jul 240.2.1 — the supersede contract, sealed. An agent dogfooding the beta caught superseded facts re-entering action context; fixed the same day, with the repro as a regression test.
  • Jul 24Public beta. forget-ai 0.2.0 on PyPI, forget-connect 0.3.0 on npm — with a login service that survives reboots.
  • Jul 22Hooks + trust labels. Session capsule, per-turn push recall, conflict-zone alerts; every read carries green / yellow / red.
Follow along on GitHub →
Why name a memory product "forget"?

Because memory that cannot be deleted is surveillance. Ours forgets on command.

Supersede, retire, delete — every fact in forget can be struck through, and the strikethrough keeps the history. The logo is not a joke about the product. It is the product.

Give your AI a memory
in sixty seconds.

curl -fsSL forget.sh | sh
or tell your AI: “Install forget.sh”