Store a memory
memory_storeSave one durable fact, credential, preference, or decision to the user's persistent encrypted memory for future sessions. Returns an id, and supersedes older entries when updating.
Instructions
Save ONE claim to the user's persistent, encrypted, cross-session memory.
STORE anything worth referencing again in future work: names, addresses, contacts, account IDs, passwords, API keys and other credentials, lasting file locations and configuration, preferences, and every durable fact or decision reached. Not transient chatter, one-off trivia, things freely available on the internet, or the working details of a task in progress, such as run results, errors, log contents and temporary paths or settings.
text is ONE claim, at most 200 characters (the max_memory_chars
default) - enforced, and lists, headings and paragraphs are refused with
it. Several facts go through memory_store_many, one record each, in one
call.
kind is "fact" (default) or "opinion". Opinions - preferences, stances,
judgement calls, recommendations - UPDATE instead of accumulate: storing
one that resembles a live opinion returns {"stored": false, "conflicts":
[old records]} instead of inserting. Resend with supersedes=[old id] to
replace (send a merged text to keep parts of both), or supersedes=[] to
deliberately hold both. Restating a live opinion refreshes its date and
returns {"reaffirmed": true}. Put the why inside the claim ("advised X:
reason"). supersedes also works on facts, to correct one: the replaced
record leaves search but stays readable by id.
source is REQUIRED: how the fact was established, in a few words -
"web search", "read from pyproject.toml", "from chat". Never invent one.
compartment stamps it, the discovery date and any expiry onto the text as
"[web search, 2026-08-01]", so never write them into the text yourself.
discovered (YYYY-MM-DD) is only for a fact established before today.
expires is only for a fact that knows its last true day: 2026-09-03,
or 14d / 2w / 3m / 1y, that day inclusive.
importance, 0.0-1.0 (default 0.5, out-of-range clamped): 0.90
decisions, consent, "remember this"; 0.80 personal facts and preferences;
0.75 the user's machine and configuration; 0.55 other substantive
statements; 0.20 pleasantries.
Returns the id (an existing id if a near-duplicate), with the stamped date.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | fact | |
| tags | No | ||
| text | Yes | ||
| source | Yes | ||
| expires | No | ||
| namespace | No | ||
| discovered | No | ||
| importance | No | ||
| supersedes | No | ||
| quarantined | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |