Memory in depth
How Murage captures, sorts, recalls and forgets: the five kinds of memory, who can see what, review and correction, automatic learning and the local search model.
This page goes further than the Memory overview. Read that first if you just want to open a bot's memory and fix something.
Murage's memory belongs to the app, not to any one engine. A bot running on Claude Code, Codex, Fuigo or a local model recalls from the same store, and switching a bot's engine doesn't wipe what it knows.
Two kinds of remembering
Your bots remember in two separate ways, and it helps to keep them apart.
The bot's notebook. Every bot has a file called MEMORY.md in its working folder. It rides along on every turn, and the bot writes to it as it works. Writing to its own notebook never raises an approval card. Routine and webhook runs can read the notebook but don't change it. You can open and edit the file like any other file in the bot's folder.
Managed memory. This is the store Murage runs for the whole workspace. It records durable facts from conversations, keeps the source excerpts they came from, versions every change, and recalls what's relevant in later turns. The rest of this page is about managed memory.
The memory modes
Open Team map → Manage memory, or Open workspace memory settings from a bot's Memory panel, to pick a mode:
- Off: nothing new is captured and nothing is recalled. What's already stored stays on disk.
- Capture only: conversations are captured and processed, but nothing is added to bots' turns.
- Capture and recall: capture, recall and the memory tools are all on. A new install starts here.
- Paused: data is kept and incoming sources are still captured, but processing and recall stop.
Switching memory off doesn't delete anything. To remove memories, forget them (see below).
The five kinds of memory
Every record Murage stores falls into one of five kinds. You don't have to pick a kind; Murage sorts records as it saves them.
- Episodic: what happened. Excerpts of conversations and other sources, kept with where and when they came from. These are the raw material everything else is built from.
- Working: where things stand. Snapshots of work in progress, so a bot can pick up a thread without rereading all of it.
- Procedural: how to do things. Ways of working that were learned from conversations. A procedure can be turned into a skill, which you still approve.
- Identity: who's who. Facts about you, your people, and who a bot is.
- Semantic: plain facts, such as "Acme signs annual contracts only" or "invoices go out on the 1st".
Each record also has a status. A record that is still being checked is provisional; an approved one is current. Archived, replaced and forgotten records become historical and aren't recalled as current facts.
Where a memory lives
Every memory belongs to one place, called its scope:
- one conversation;
- one bot;
- a channel (room);
- a team;
- a project;
- the whole workspace;
- your selected preferences.
A bot recalls only from places it belongs to. A folder name or a matching bot name is never treated as permission to read another place's memory. To give a memory to another team, project or bot, use Share memory, which makes an approved copy there.
People who message your bots from Slack or Discord, other than you, don't get your bots' private or team memory.
Inspect, correct and forget
Search by place and status, then choose Inspect memory on a record to see its text, its exact version and the source excerpts behind it. From there:
- Approve a candidate once you've read it.
- Save correction to fix it. This makes a new version; the old one is kept in the history.
- Pin memory to keep an important rule at the front. Unpin it before you archive it.
- Share memory to copy it to another place.
- Archive memory to stop using it while keeping its sources for history.
- Forget memory to remove a record or a source. Anything built from it is invalidated and left out of future recall.
- Review as skill to have an eligible bot draft a skill from a remembered way of working. The skill still lands switched off, and this step can use that bot's model.
Forgetting removes the memory from Murage. It can't take back text that was already sent to a hosted AI provider during an earlier turn.
Automatic learning
Murage can distil captured conversations into facts and ways of working. The switches are Learn facts automatically and Learn procedures automatically. Both are on by default, but nothing is distilled until you choose a connection to do the work. Until then, capture and recall still run, and the health check tells you learning isn't configured.
The distilling connection must be an eligible API connection you pick on purpose. It runs with no tools and with bounded requests, and it produces candidates, not settled facts. Turn on Review new learning before activation to hold everything it learns in Needs review until you approve it.
Distilling uses your model account, so it costs whatever that provider charges.
Murage also has an owner-authorized memory evolution check that tunes how recall and sorting work against built-in examples. It only runs when you authorize it, and it tunes memory settings, not your bots.
Search: keyword or local model
Recall always works with keyword search over a local index. You can also download a local embedding model for smarter, meaning-based search:
- Open the workspace memory settings.
- Find Local model and start the download.
- Murage checks the file's size and hashes before it uses it.
The local model is available on Apple Silicon Macs, Windows x64 and Ubuntu x64. Intel Macs use keyword search in this release. If the model is missing or broken, Murage tells you recall has dropped back to keyword search. It never downloads model files silently in the middle of a turn.
Local search runs on your computer and doesn't need a paid model.
Import notes you already have
Choose Import existing notes to bring in bot notebooks, topic files or a team brief. You see a preview first, and you confirm it before anything is imported. Imported bot notes start private and are marked as unverified imports. The original files aren't changed. If a file changes between preview and import, the import is refused rather than bringing in something you didn't see.
Where it's stored
Memory lives in the SQLite database in Murage's data folder on your computer, with a search index beside it that can be rebuilt at any time. It doesn't sync between computers, and separate installs never share memory by themselves.
Backups include your memory and its deletion history. After a restore, memory stays paused until you review it. See Backups and export.
What memory doesn't do
- It doesn't grant a bot any new permission. Recalling that you once approved a payment doesn't approve the next one.
- It doesn't sandbox an engine. An engine with file access can still read files your user account can read; memory scopes govern what Murage itself hands to a bot.
- Memory is managed from the desktop app. A phone session can't change workspace memory settings.
If recall seems wrong or empty, see Troubleshooting memory.