Your agents forget. Recall doesn't.
Recall reads every conversation, works out what is true about each person — and what stopped being true — and answers questions about them with sources, in about one model call.
/plugin marketplace add RedSix6/recallmemory
Runs on the model you choose
or any OpenAI-compatible endpoint, such as Ollama or vLLM. Pick a model per task →
It knows what changed.
Most memory stores pile up facts until they contradict each other. Recall keeps a timeline: when someone moves, switches jobs or changes their mind, the old fact is closed and the new one starts — the moment the message arrives.
- 01Valid from, valid to. Every fact has a period and the messages it came from.
- 02Dates that mean something. "Last week" is anchored to when it was said.
- 03Answers you can check. Citations, a confidence, and "I don't know" when memory is empty.
Ask at the depth you need.
Quick lookups cost a fraction of a cent. Hard, multi-step questions get a reasoning loop. You choose per question.
Everyone keeps their own view.
Users, agents and bots are all peers. Each can observe the others, so you can ask what the support bot knows about Alice — or what Bob does — not only what Alice said about herself.
- →Group chats and multi-agent systems with one memory and many perspectives.
- →Scopes group the sessions you want remembered together: a project, a customer, a campaign.
- →Dreams consolidate many small facts into fewer, sharper ones in the background. Included.
Measured, not claimed.
75 held-out LoCoMo questions, run side by side with the leading open-source memory layer on the same model, with tokens metered at the provider. Same accuracy, faster answers, a much smaller bill.
The open eval harness also runs LongMemEval-S and BEAM. We have not run them yet, so there are no numbers to show.
See what your agent knows.
Check what Recall learned, where it learned it and what it would answer, in a browser. Nothing to build.
- 01Memory explorer. Browse workspaces, peers and sessions. Facts show current and superseded versions, when each held and the messages it came from.
- 02Playground. Ask a peer a question at any reasoning level and see the evidence behind the answer.
- 03Usage charts. Messages, questions, model calls and charges, per day.
- 04Checklist. Create a key, send messages, ask a question. It ticks itself off from your account's data.
Five lines to memory that keeps up.
Typed SDKs for TypeScript and Python, a plain REST API, MCP for any client, and drop-in compatibility with existing memory SDKs.
- ■Retries never duplicate. Writes carry idempotency keys.
- ■One round trip per turn. Store messages, get the next prompt's context back.
- ■Prompt builders for OpenAI and Anthropic message formats.
import { Recall } from "@recall-memory/sdk"; const recall = new Recall(); // RECALL_URL, RECALL_API_KEY const alice = recall.peer("alice"); const session = recall.session("support-42"); // Store the turn, get the next prompt's context back const { context } = await session.turn( [alice.message("I moved to Utrecht last month.")], { peerTarget: alice, tokens: 4000 }, ); const answer = await alice.chat("Where does she live?"); // → "Utrecht, since last month [msg 1]"
from recall_memory import Recall recall = Recall() # RECALL_URL, RECALL_API_KEY alice = recall.peer("alice") session = recall.session("support-42") session.add_messages([ alice.message("I moved to Utrecht last month."), ]) recall.wait_for_idle() print(alice.chat("Where does she live?")) context = session.context(peer_target=alice, tokens=4000) messages = context.to_openai(assistant="bot")
curl $RECALL_URL/v3/workspaces/my-app/sessions/s1/messages \ -H "Authorization: Bearer $RECALL_API_KEY" \ -H "Content-Type: application/json" \ -d '{"messages":[{"peer_id":"alice","content":"I moved to Utrecht."}]}' curl $RECALL_URL/v3/workspaces/my-app/peers/alice/chat \ -H "Authorization: Bearer $RECALL_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"Where does Alice live?","reasoning_level":"low"}'
Memory for the agents you already use.
Each integration adds what Recall knows about you to the agent's context and records the conversation, so it keeps learning. If Recall is unreachable, the agent carries on as before.
Claude Code
A plugin. Memory at session start, every turn recorded, Recall's MCP tools added.
Plugin · Set up →Codex
A Codex plugin or an installer: hooks that recall and record, plus the MCP tools.
Plugin · Set up →OpenClaw
A native plugin. Memory added to each turn, conversations recorded, recall_* tools.
Hermes Agent
A memory provider that runs next to Hermes' own memory: recall, record and four tools.
Provider · Set up →Agent Skill
A portable SKILL.md that teaches any skills-aware agent when to look up, save and forget.
Any MCP client
Eight memory tools by default, all forty of the full profile when you want them.
MCP · Set up →One memory layer, every kind of agent.
Relationships that build.
Remember the sister in Amsterdam, the new job, the diet — and notice when any of it changes.
No more cold starts.
Conventions, past decisions and your preferences carry across sessions and repos.
Context that survives handoffs.
Every agent and human sees the customer's history and plan — "can you start from the beginning?" disappears.
Teaching that compounds.
What a learner knows, where they got stuck and what worked, across weeks of sessions.
Accounts, not tickets.
Stakeholders, objections and renewal dates, kept current from every call your agents handle.
Characters that remember.
NPCs form opinions, keep grudges and recall favours — at a cost that works per interaction.
Forget a person on request.
When someone asks to be erased, one call removes what they wrote and everything memory holds about them. It is there for GDPR erasure requests.
- ■Messages and memberships go, along with the facts and peer cards about the person and the ones they hold.
- ■Summaries are rebuilt from the remaining messages, and cached answers are cleared.
- ■Other people's facts stay, even when they mention the person. Delete those separately if you need to.
recall peer delete alice --yesawait alice.delete()alice.delete()The boring parts, done properly.
EU hosting, isolated tenants
API and data in Frankfurt. Accounts are isolated, keys are stored hashed, and accounts can be exported or erased.
Safe retries
Writes take an Idempotency-Key; a retried request returns the original result instead of storing twice.
Metered per call
Every model call is recorded with its tokens and cost, by workspace, task and model: in the dashboard and at /v3/usage. Through OpenRouter, the cost is what it charged.
Spend caps
Monthly caps per account and rate limits per key. Messages are always stored, even when a cap is reached.
Webhooks
A signed queue.empty event tells you when learning for a session is done. Each carries an event id, so retries are easy to dedupe.
Any model, per task
Eight providers or any OpenAI-compatible endpoint. Extraction, summaries, dreams and each chat level can use a different model, with OpenRouter fallbacks and price-sorted routing.
Pay for what you use. Nothing else.
Prepaid credit, no subscription, no seats. Context, search, storage and dreaming are included.
Sign up with your email and get $5 of credit. No card needed until you top up.
- Unlimited workspaces, peers and sessions
- Monthly spend caps and auto top-up
- Memory explorer, playground and usage charts
- EU hosting, export and erase anytime
| Usage | Price |
|---|---|
| Learning from messagesper 1M message tokens | $1.75 |
| Chat · minimal | $0.0005 |
| Chat · low | $0.003 |
| Chat · medium | $0.015 |
| Chat · high | $0.03 |
| Chat · max | $0.15 |
| Included: context, search, storage, summaries, dreams. A cached answer still counts as one query. | |
Questions, answered.
How is Recall different from a vector database?
A vector store returns similar text. Recall reasons over conversations: it extracts facts about each person, keeps when they were true and where they came from, resolves contradictions, and answers questions in plain language with citations.
I already use another memory API. Do I have to rewrite my code?
Probably not. Recall implements the Honcho v3 REST API, so code written for Honcho's SDKs works by pointing the base URL at Recall. Our own SDKs add idempotent writes, prompt builders and one-call turns.
Where is my data stored?
In the EU: the API runs in Frankfurt and the database is in Frankfurt. Each account is isolated, API keys are stored as hashes, and you can export or permanently erase an account from the dashboard.
Which models does Recall use?
By default a small, fast model that matched larger ones on our evals. Recall supports OpenAI, Anthropic, Gemini, OpenRouter, Groq, DeepSeek, Together, Fireworks and any OpenAI-compatible endpoint, configurable per task. Details.
What happens when my credit runs out?
Messages are always accepted, so you never lose data. Learning and chat pause with a clear error until you top up, or turn on auto top-up with a monthly cap.
Can my coding agent use it?
Yes. Claude Code, Codex, OpenClaw and Hermes have integrations, there is a portable Agent Skill, and any MCP client can connect to Recall's MCP server. Set up an agent.
Can I see what Recall knows about someone?
Yes. The dashboard's memory explorer lists each peer's facts, current and superseded, with when they held and the messages they came from. The playground lets you ask questions and shows the evidence behind each answer.
Can I erase everything about one person?
Yes. Deleting a peer removes its messages, memberships and everything memory holds about it, and rebuilds the summaries that quoted it. Facts about other people that mention it are kept; you can delete those separately. It works from both SDKs, the CLI and the API. How it works.
Give your agents a memory worth having.
Start with $5 of free credit. First answer in five minutes.