Use case
At hour six, my agent forgets hour one. Ask it then and get the hour-one answer.
Follow one workday from hour one to hour six. Recall keeps your morning word for word, and the agent fetches it when it needs it.
You set the rules and start the work.
you: run the billing tests and fix what fails, keep the refund window at 14 days
you: do not touch the webhook retry code
# the agent runs the tests 30 times; run 3 fails on one lineYour client keeps every message. Recall changes nothing yet.
The session reaches your window.
Without Recall
- The client compacts
- Older history becomes a summary
- The failing line from run 3 is gone
With Recall
- Older work goes to the archive, word for word
- The model gets recent work and an index
- Your client's history stays as it is
Recall acts when a request would pass your Active Context. In our 200K test, the session never compacted.
You come back after 2 h. The cache has expired.
⚡ context-mode · picked up after a 2 h pause, nothing compacted
After a pause the provider writes the whole prompt again anyway, so Recall lays out the short version then.
You ask for the failing line from test run 3.
What the model sees: one line of the index → Bash "npm test -- src/billing" (context-mode-msg-3f2a…) What the agent does: fetches run 3 by its id context-mode-search {"docid": "context-mode-msg-3f2a…"}
The run comes back as it was stored. No second test run.
Why compaction drops your early details.
Close to the window, your client swaps older history for a summary. Exact lines, early rules and screenshots go first.
After the summary, it no longer sees what you decided. It asks the same question, or runs the tests again to see one line.
Until then, every request sends the whole history again. After a long pause, the provider writes it all to the cache again.
How Recall keeps hour one exact.
- 01Hour one: you set the rules
"Keep the refund window at 14 days." Your client keeps the full history, as usual.
- 02Hour four: the window is full
Recall moves the morning to the archive, word for word. The model now reads your recent work and a short index of the rest.
- 03Hour six: you ask about the morning
The agent finds test run 3 in the index and fetches it by its id. It does not run the tests again.
At hour six, the morning is still there.
The same 30 steps run twice on a 200K window. For the cost of the same run and the full method, see Long sessions and Method and sources →
What your agent still has at hour six.
| Detail from the morning | With Recall | After compaction |
|---|---|---|
| Your rule "refund window 14 days" | In the index word for word, listed as a decision not to reopen | In the summary only if it kept it, and reworded |
| "Do not touch the webhook retry code" | In the index word for word | Can get lost with the other early instructions |
| The failing line from test run 3 | The agent fetches the archived run by id | Gone. The agent runs the tests again. |
| The error screenshot | Archived as an image, returned by id | Gone |
An example of the mechanism, not a measurement. The full table →
Recall and Active Context.
Keeps the morning in an archive for 90 days by default, and gives the agent an index to find it.
Sets the point where Recall acts: the size your session may reach on every machine.
Read more: Recall docs · Active Context docs · All-day sessions without compaction
Related: Long sessions · For developers · Session resume · Search
Ask at hour six. Get hour one.
npx @context-mode/cli connects your agents. 1,000 requests free, no card.