memory.remember
LiveStore a new memory episode in Cortex.
Description
Writes a new episode to the principal's memory store. Episodes are the unit of recall: a single observation, conversation turn, calendar event, or message thread. Provide a source hint and timestamp when known so retrieval can rank correctly.
Input schema
| Field | Type | Required | Description |
|---|---|---|---|
content | string | yes | Episode content to remember. |
source_hint | string | no | Optional source hint (e.g. `imessage`, `calendar`, `manual`). |
occurred_at | string (ISO-8601) | no | When the event happened. Defaults to "now" if omitted. |
Output shape
typescript
{
episode_id: string;
ok: boolean;
}Example call
JSON-RPC tools/call request body (omit the JSON-RPC envelope when using an SDK; the SDK adds it for you):
jsontools/call params
{
"name": "memory.remember",
"arguments": {
"content": "Sarah moved to a new role at Acme; she'll lead the API team.",
"source_hint": "manual",
"occurred_at": "2026-05-27T14:31:00Z"
}
}Example response
Tool results are always wrapped as content[0].text with a stringified JSON body. The shape below is what you get back from JSON.parse(result.content[0].text):
jsonparsed result body
{
"episode_id": "ep_01HXR4N9TZ5W2QF6KMVDX8Y3GP",
"ok": true
}Errors this tool can return
| Code | Meaning |
|---|---|
invalid_arguments | Tool input failed Zod validation. |
unauthorized | Missing or invalid bearer token. |
quota_exceeded | Per-minute, daily call, or daily inference budget exceeded. |
See the full error catalog for resolution steps on each code, plus the standard transport-layer responses (401, 429).