Skip to content

Why we built Nimbus to give Claude memory across projects

Claude projects can’t see each other. That’s by design, and for most people it’s fine. For a studio running nearly 60 workstreams across clients, offers and its own operations, it meant every chat started half-blind. So we built Nimbus, a small server that keeps our working state outside Claude, where any project, any teammate and any Claude tool can read it. Maceo, who runs Magic Bullet, calls it “the sandpaper that rubs off the rough edges of Claude and my workflow.”

Claude Projects look like folders, but behave like vaults.

A Claude project presents like a folder, so you expect folder behavior: a parent holding shared context, children inheriting it. You get isolation instead. Each project is walled off from the others, and a new chat inside a project rolls the dice on what it remembers from the last one. The more chats pile up, the worse the odds.

Our work is nested. The business sits above every client. Some clients sit above other clients, like a hospitality group with several venues. A pricing decision made in one project has to reach a proposal written in another. We were re-explaining the same decisions week after week, and now and then Claude worked confidently from an old one.

Did we even need it?

Fair question. We asked it too. Claude’s built-in memory has grown since we started. As of this writing, project memory carries context between chats in the same project, a setting lets your account-level memory reach into a project, and Claude Code reads a CLAUDE.md file in each repo. If you work alone in one project, that may be all you need.

Three things it still doesn’t do, as far as we can see: let one project read another’s memory, keep one shared record for a whole team, and tell you how current that record is. Those were the three we needed most. So we kept Nimbus and narrowed its job to them.

What it had to do from day one

Keep state outside Claude. Every decision, finding and finished piece of work goes into a log, and a short snapshot sums up where things stand. Any chat reads it first.

Reach from anywhere. One record per client or subject, readable from any project, from Claude Code or through the API.

Tidy itself. Nobody should have to reconcile their own notes. When a snapshot falls more than three entries behind its log, Nimbus tells Claude to rewrite it before doing anything else. No one has to ask.

What we added once it worked

When our account director started using it, sharing became the hard part. Everything is private by default. You share a record with a person or a group, read or write, and every entry shows who wrote it. A note marked confidential stays with its author and never lands in a summary.

Publishing a shared summary takes two steps: Nimbus shows you exactly what will go out, and nothing publishes until you confirm. Two people can’t overwrite each other’s edits; the second save is refused and handed the current text to merge. Backups run nightly.

It runs on Cloudflare and signs people in through our own client portal, so one login covers our internal tools.

What we learned about using it well

Fewer records beat more. We let them multiply early. Unused ones get forgotten. When in doubt, add to one that exists.

“Log it to Nimbus” names the system, not the record. Write to whatever’s being discussed. That’s usually a client, rarely Nimbus itself.

People remember the shape. Claude remembers the detail. You’ll recall that something like this happened before. You won’t recall the specifics. So good search earns more than clever reminders.

Read first, every time. Every chat starts by reading the relevant record. It takes seconds and saves the conversation where Claude works from last month’s decision.

Keep summaries lean. Every session pays to read them. One of ours turned out to carry a duplicate copy of itself, doubling what each read cost. Trimming it was cheaper than any new feature.

How it changed the way we work

Every conversation picks up from the last known good position. A pricing change made on Monday is in Tuesday’s proposal, in a different project, without anyone pasting it in. Our account director and Maceo work from the same record. Maceo’s estimate of what losing Nimbus would cost: a couple of weeks just figuring everything out again.

Why it’s better

Built-in memory is filed in the background, on its own schedule. Nimbus is written on purpose, and it warns you when it’s out of date. In client work that difference is everything. You’d rather learn a record is stale at the start of a chat than in a proposal.

What it doesn’t do

Claude is never told a conversation has ended, so nothing can run at the end of a chat. Nimbus tidies up at the start of the next one instead.

Private keeps members apart. It doesn’t encrypt anything, and anyone with access to the hosting account can read it all.

Removing someone’s access can take up to an hour to take effect.

Claude won’t notice when a new finding contradicts one from six months ago. We move the important findings into the summary, which gets read every time.

Running into the same wall?

Nimbus runs our studio today, and we built it so someone we’ve never met could install it. We haven’t decided whether to open it up. If this sounds like your week, we’d like to hear from you. Email us about Nimbus, or see how it works at mb-nimbus.io.

Your projects stay sealed. Your work doesn’t have to.