Skip to main content
The read verb. An agent should call this before answering questions about a project — it is the half of the handover that makes the other half worth doing.

Parameters

string
required
What to search the team’s memory for. Search matches on meaning and on exact wording at the same time, so you can phrase it the way you would ask a colleague, or paste the identifier you are actually looking for.
'org' | 'agent' | 'private'
default:"org"
org searches the shared team memory plus your own private memories and the projects you belong to. private narrows to your own memories only. agent searches what this agent identity wrote and is not a privacy boundary. See Scope.
string
Optional space slug, to confine the search to one project’s store.
string
Optional project identifier, to narrow results without switching space. Matches a git remote URL, a repository root path, a project id, or a display name. See Scope.
integer
default:"10"
Maximum memories to return. Between 1 and 50.

Examples

Notes on behaviour

If a decision has been contradicted by a newer one, recall returns the current version only. You are not asked to reconcile the two — that is the point of the retire step in the handover loop.
A memory written by another agent a second ago is available to the next recall. There is no push to already-running agents, so an agent mid-session sees new state only when it calls recall again.
Recall runs two searches and combines them. One matches meaning, so a paraphrase finds a memory that used different words. The other matches the text itself, so a rare literal finds the memory that contains it.This matters because the two fail in opposite places. A search for a flag name, an error string, a commit hash or a function name is the case where meaning-based search is weakest: the token is rare, so it carries little signal, and memories that are merely about the same topic can crowd out the one memory that actually names it. Pasting the literal is not a worse query than describing it. It is usually the better one.An identifier is matched as its parts, in order. pool_pre_ping matches text containing pool pre ping adjacent and in that sequence, so a memory that happens to use all three words separately does not match.
The default of 10 suits most questions. Raising it toward 50 spends the model’s context on progressively less relevant results — usually a sign the query should be narrower, or the memories should live in a space.
Passing project returns that project’s memories first, then fills any remaining slots (up to limit) with unfiled memories — never with another project’s. If a query has few hits inside the project, expect the rest of the page to be org-wide unfiled results, not padding from elsewhere.
Results carry a memory id. Pass it to forget to retract something that surfaced and should not have.