The memory your agents were supposed to come with

Your agents are geniuses with amnesia.

Every session they meet your company for the first time and pretend otherwise. Basemode gives them one memory that actually knows what things are — your decisions, your rules, your work, what it all means and how it connects — and feeds it to them the second they need it. Same agents. Ten people start working like thirty.

  • Superpowered by basemode
  • Learned once, known by everyone
  • Claude Code · Codex · Antigravity

The same question, twice

One of these read twelve files to get it wrong.

Both runs used the same model, the same repository and the same prompt. The only thing that changed is whether anything put the answer in front of it before it started guessing.

Without basemodereading

where do we deploy the worker service?

  • Read .github/workflows/ci.yml
  • Read vercel.json
  • Read package.json
  • Grep "deploy" — 38 matches in 11 files
  • Read infra/README.md
  • … 7 more files

This project deploys to Vercel — vercel.jsonis present at the root. I’ll add the worker service there.

12 files read41swrong
With basemodebriefed

where do we deploy the worker service?

basemode · placed before the model answered

decision
Deploys go through Railway. Vercel was ruled out in March: no long-running workers.
rule
Worker services ship with a Procfile, never a build step.
gotcha
vercel.json is dead config. Nobody deleted it.

Railway. vercel.json is leftover from before the March decision — the worker goes to Railway with a Procfile.

0 files read1.4scorrect

the one on the left is doing everything you would ask of it, and it still hands you the wrong answer.

Why it speaks first

A memory nobody opens is a filing cabinet with extra steps.

This is the part everyone else leaves up to the model, but an agent cannot go looking for something it does not know exists. So it does not go looking at all. It guesses instead, and it guesses in complete sentences with excellent grammar.

One agent turnfour places context can land

Session start

Everything standing that governs where they are about to work.

At the prompt

Whatever bears on the thing they just asked for.

Before a tool runs

The rule that governs this file, placed before it gets edited.

After it returns

What the result means here, while it still matters.

Targeted, never a dump

Every injection is a query against the moment, so opening a billing file returns the billing rule, the decision that got reverted and the gotcha, and nothing else. You stop paying for a context window full of hedge, and the model stops drowning in its own briefing.

You can still just ask it

Most of the time it speaks first and nobody has to ask for anything. But when someone does want to ask a question directly, they can, and the answer comes out of the same place. There is no second system keeping its own version of the truth, so what you get when you ask is what your agent already got when it did not.

Why everyone else gets smarter

Knowledge on one laptop has a resignation date on it.

Fifty developers with fifty local memories is fifty agents learning the same thing fifty times and telling no one. One graph changes what a team is.

the three dashed seats never receive it, because nobody granted them that graph in the first place.

The parts you can rip out

If you cannot break it, it was never really yours.

The parts most products hide — installation, extension, administration — are the parts we handed over. One binary finds the agent tools already on your machine and configures each of them, writes down everything it touched, and puts all of it back on one command.

The ledgerrecorded at install · verified at removal
base installbase uninstall
  • ~/.claude/settings.jsonmerged3 keys addedrestoredbyte for byte
  • ~/.codex/config.tomlmerged1 key addedrestoredbyte for byte
  • ~/.antigravity/mcp.jsoncreatedremoved
  • ~/.claude/hooks/base/created4 hooksremoved
  • ~/.base/createdlocal replicaremoved
  • /usr/local/bin/basecreatedremoved
Every file it touches gets checksummed on the way in, so when you remove it, it checks that record first and tells you if anything moved while it was there.

Headless administration

The admin console is a command line.

Everything an admin does — creating teams, inviting people, setting roles, granting scope, wiring in a platform, reading usage — is a call your agent can make on your behalf. The web interface is just one client of that same API, so nothing is locked behind a screen.

northwind · admin sessionacting as chris@ · owner

Add Priya to the payments graph with write access, invite the new contractor read-only until Friday, and connect our GitHub org.

  • base member add priya@northwind.dev --role engineerseat 8 of 10
  • base scope grant priya@ --graph payments --writeeffective now
  • base member invite r.advani@contract.io --read --expires friinvite sent
  • base connection add github --org northwindhandshake ok
  • base audit tail --last 44 writes logged

That is four changes and one invite, and every one of them landed in the append-only log with the actor attached. Nobody had to open a dashboard to do it.

4 writes1 invite0 clicks

Why it is not slow

Nothing it needs is behind a loading spinner.

Every machine holds a live copy of the graph, so reads happen at disk speed and keep working on a plane. They are never counted against you either, because the meter only moves when something is written or kept.

northwind · todayone honest scale
Ask a server for it380ms
Read the copy on the machine0.4ms

Asking a server takes roughly 950 times longer than reading the copy that is already on the machine, and both bars are drawn to that same scale.

  • Reads served41,908todaynot metered
  • Network calls to serve them0nowhere to call
  • Writes ordered312todaymetered
  • Stored184MBmetered
We cannot meter reads because they never reach us, which means depth stops costing anything and nobody on your team has to choose between a fast answer and a correct one.

What it actually knows

Your wiki was last accurate in March.

Everybody knows it, and nobody is going to fix it. basemode reads the work itself and keeps it next to the reasoning behind it, so the record maintains itself instead of waiting on a volunteer.

412decisions
189rules
233gotchas
76corrections
18,204functions mapped
14projects

one team, one graph, ninety days in

Meaning

Your agent gets the connected picture instead of the closest-looking paragraph, and that is the difference between knowing something and being reminded of something similar.

It stores what things mean, and what they connect to

Most memory is a heap of passages with a similarity search bolted on, so you ask a question and it hands back whichever paragraphs look closest to your words. This stores typed entities with real relationships between them, so a decision is linked to the domain it governs, the project it came out of, the rule it produced and the correction that later retired it. Ask about any one of those and it walks the rest.

Your code

It stops reading twenty files to understand three, and it edits the right one first, the way someone does when they have worked here before.

It goes deep enough to parse your codebase

Every function, struct, import and call relationship is parsed straight from the source and kept current across more than thirty languages. So when someone asks what calls this, or what breaks if I change it, or where this constant actually gets consumed, the answer comes off a map instead of a grep.

The reasoning

Nobody re-litigates a settled question every quarter, and nobody re-breaks the thing that was fixed on purpose.

The reason survives the person who had it

A decision is stored with the argument behind it and the option that lost, which is exactly the part a changelog line throws away. Six months later the question is not what you chose, it is why the obvious alternative was wrong.

Corrections

The knowledge gets more accurate as it ages, instead of quietly rotting until everyone agrees it is easier to just ask Dave.

Wrong knowledge dies everywhere at once

When something turns out to be wrong, the correction retires the exact fact it replaces instead of sitting next to it, so every reader only ever sees the live version.

Relevance

Nobody has to maintain a context document, because the right slice shows up on its own as a result of where you already are.

What surfaces is decided by what you touched

Keywords and file paths route the graph, so working in payments surfaces the payments rules, and opening a migration surfaces whatever went wrong in the last one.

Why it's different

Persistence is table stakes. Delivery is the product.

Plenty of tools will remember things for your agents, but every one of them waits to be asked — a store, an index, a search endpoint — and then depends on the model deciding to go there. That decision is the broken part, because an agent does not know what it does not know, so the memory sits unused while the answer comes out confident and wrong.

Everyone elsebasemode

They hold everything and wait to be searched, so the agent has to reach for it, and know that it should.

Delivery

It speaks first, at the instant of the action, about the exact thing being touched. There is nothing to call.

What they learn stays per developer, per machine, per session. Whatever one person's agent works out, it stays there.

Reach

It spreads across the team as it is written. Dev A settles something at 10am and Dev B's agent is working from it by 10:01.

They store records that already exist somewhere else — your CRM, your ticketing, your billing.

Contents

It stores what your team worked out: the reason the auth layer is strange, and the fix that took someone a whole day to find.

Judge an agent by what it produces, not by how well it hunts. One that reads twenty files to get somewhere is diligent, slow, and one missed file away from wrong; one that answers correctly having read nothing is what you actually wanted, and that only happens if something put the right thing in front of it first.

Who sees what

You can put this in front of a security review and answer with a query.

Access is granted over defined slices of the graph, and a query cannot reach past what it was granted. Every write lands in an append-only log with the actor attached, so the honest answer to what changed and who changed it is something you can run rather than something you promise.

Grantsnorthwind · one graph
  • Platform teampayments · infra · authread + write
  • Everyone elseinfraread
  • Contractorsthe one repo they are onread
A query runs inside the grant and stops at its edge. There is no wider search to fall back on, so nothing leaks by accident.
Auditappend-only
  • 10:02:14priya@wrotecorrection · migration lock
  • 10:02:14systemretiredthe fact it replaced
  • 10:06:41marcus@readpayments · 3 items
  • 11:19:08r.advani@blockedpayments · out of scope
Nothing in this log can be edited or removed, including the entries nobody enjoys reading.

Delete on request

One fact out, everywhere, permanently

Remove a single item and it stops appearing for every reader on every machine, rather than lingering on whichever laptop happened to be offline that day. Retention becomes a policy you set instead of a cleanup project somebody has to run.

Adopting this stops being a compliance argument you have to win before you are allowed to start.

Pricing

Per user, with a cap you agree to up front.

Reads are served from the copy on each machine, so they cost nothing and are never counted. You are billed for what gets written and what gets kept, and you know the ceiling before you start.

Free

$0

For solo work and open source. One graph, capped in size, everything else intact.

Start free

Team

$19per user / month

Up to 50 users. Self-serve from the first minute, and no call with anyone required.

Start free

Business

$35per user / month

Single sign-on, read scoping, the audit log and annual terms.

Start free

Enterprise

Talk

Self-hosting, retention control, an SLA, and a security review we expect to sit through.

Talk to us

Every tier reads at disk speed, installs the same way, and uninstalls the same way. The difference between them is how many people are on the graph and what your security team needs written down.

Superpowered by basemode

Install it once and forget it exists.

Nobody changes how they work, and within a week nobody remembers what it was like before.

Free for solo work. $19 per user a month for teams, and reads are never counted.