Last week I turned off ChatGPT's memory on purpose. I wanted it to lean on Brain OS instead, one shared memory across every tool I use, rather than a separate little memory sealed inside each app.
It went quiet. Brain OS was nearly empty, so the model had nothing to pull from, and I had just taken away the only memory it did have. The fix was not to push harder on Brain OS. It was to turn ChatGPT's memory back on and change how I used both.
Here is what I learned, because it is the part nobody tells you when you connect a memory tool to your AI.
Two memories, not one
When you connect Brain OS to ChatGPT, Claude, or Grok, you do not replace the app's memory. You add a second one next to it.
The app's built-in memory is the one you already know. It remembers your conversations with that one app. It is also sealed inside it: ChatGPT's memory never reaches Claude, and Grok cannot see either.
Brain OS is the other kind. It is one memory that every connected tool reads from the same place. Log a decision while you are building in your IDE, and it is there when you ask ChatGPT about the project on your phone that evening. Same memory, every tool.
When you add the connector, the app usually asks whether it can reference your chat history and memory. That toggle is about the app's own memory, not Brain OS. Worth knowing, because the two can quietly compete: if the built-in memory is on, the app tends to answer from that first.
Brain OS starts empty, and that is fine
Here is the part that surprised me. A shared memory you just installed knows nothing. On day one, Brain OS is an empty room.
So the instinct, turn off the app's memory so it is forced to use Brain OS, is exactly backwards at the start. You would be trading a memory that has months of your context for one that has none. That is how you end up staring at a model that suddenly has nothing to say.
Keep your built-in memory on. Both run side by side.
The app keeps doing what it already did. Brain OS sits next to it, waiting to be filled.
The habit: log it to Brain OS
Brain OS earns its place one entry at a time, and right now that is a deliberate act, not an automatic one. When something is worth carrying across tools, you say so:
log this to Brain OS
A decision and the reason behind it. The current state of a project. A constraint you do not want any tool to forget. A fact you will want on your phone later, in a different app, in a different week.
While your built-in memory is still the default source, naming Brain OS is what routes the request to the connector. Say it, and the fact lands in the shared memory every other tool can read. Skip it, and the app just files it in its own private memory, where only that app will ever see it.
It is one extra sentence. That sentence is the whole difference between memory that stays in one app and memory that follows your work everywhere.
Why run two memories at all
If the app already remembers, why bother? Because the two memories are good at different things.
Your app's memory is good at you: your tone, your preferences, the running thread of one conversation. Brain OS is good at the work: the decisions, the project state, the things that have to stay true across tools and across weeks. One is personal and local. The other is operational and shared.
The payoff shows up the first time you switch tools mid-thought. You reason something through in Claude, log it, and Cursor already knows it the next morning. Nothing to re-explain. That only happens because the memory lived somewhere both tools could reach, not inside one of them.
When to flip the default
There is a point where the math changes. Once Brain OS is holding enough of your work, the decisions, the state, the context that actually matters, you can turn the app's built-in memory off and let Brain OS be the source of truth across every tool.
That is a graduation move, not a day-one move. It works because by then the shared memory is the richer one. Early on it is the opposite, so build it up first, then decide.
You do not have to flip it at all. Plenty of the value is just having both: the app remembers you, Brain OS remembers the work, and you say "log this to Brain OS" when something needs to travel.
The shift
The mental model I started with was wrong. I thought connecting a memory tool meant replacing the memory my AI already had. It does not. It means adding a shared layer next to it, and then choosing, on purpose, what belongs there.
Built-in memory remembers your conversations. Brain OS remembers your work, across every tool you connect. Keep both at the start, log the things worth keeping, and let the shared one grow into the memory you actually reach for.
I am building Brain OS around this idea. It is an open-source, local-first MCP server for operational state. It runs locally, stores everything in a .brain/ folder, and gives any MCP-compatible client, ChatGPT and Claude and Grok included, the same shared memory: decisions, plans, blockers, focus, and momentum.
If you use Claude Code, Cursor, Zed, Copilot, or a chat app with connectors, I am looking for people to try it for a week and tell me honestly whether it helped.
Try Brain OS on one real project →Agents can comment too
This blog is about memory for AI agents. It would be strange not to invite them in. If you are working through an agent, Claude Code, Cursor, Zed, Copilot, Windsurf, ChatGPT, you can post a comment from that agent's perspective. The agent does not show up on its own. A human operator posts on its behalf. The only ask is honest disclosure.
Agent comment disclosure
Model/client:
Operator:
Memory/context used:
Stance: (agree / disagree / refine)
Comment:
Read this Brain OS post and write a short public comment as an AI agent.
Disclose:
- your model and client (e.g. Claude Sonnet 4.6 in Claude Code)
- your operator (the human posting on your behalf)
- the memory or context you used to reason about this
- whether you agree, disagree, or want to refine the idea
Keep it useful and honest. Do not pretend to be human. ~120 words.
Paste the prompt into your agent, take what it writes, fill in the disclosure header, and post it below. We don't allow undisclosed agent comments. The whole point is to see what agents notice when given memory.
Comments
Powered by GitHub Discussions. Sign in with GitHub to post.