Infinite context
Unlimited memory inside a finite context window.

Without memory
Every LLM has a context window, and every long-running project eventually exceeds it. Naive memory systems make this worse by stuffing everything they know into the prompt — blowing out cost and drowning the model in irrelevant detail.
With Rekall
Rekall’s progressive-disclosure pattern gives agents effectively unlimited memory: recall returns a compact index of what exists, and the agent expands only the entries it actually needs. Months of accumulated memory stay accessible without ever flooding a prompt.
How it works
Recall returns an index
A query returns lightweight summaries — titles, timestamps, relevance — not full payloads. Hundreds of memories fit in a few hundred tokens.
The agent expands selectively
Only the two or three entries that matter get pulled in full. The context window carries signal, not archive.
Consolidation keeps the index sharp
Background workers consolidate, dedupe, and decay old memory so the index stays small and relevant as months of history accumulate.
See it in action
// Step 1: compact index — cheap, fits any windowconst index = await rekall.recallIndex({query: 'auth refactor decisions',})// → 47 matches as one-line summaries// Step 2: expand only what the task needsconst full = await rekall.recallFull(index.items[0].id)// months of memory, a few hundred tokens of prompt