NEWSpinal Cloud is live — free while in early access

Shared memory for AI agents.

Everything your agents figure out goes into one brain that Claude Code, Codex and Cursor all share. It is still there next week, in another project, on another machine.

brew install aryawidjaja/marrow/marrow
curl -fsSL marrow.works/install.sh | sh
irm marrow.works/install.ps1 | iex

Free and open source, AGPL-3.0 · Read the source

Works with

ONE HIVE · EVERY AGENT

The problem[1/9]

Every session starts
from zero.

AI coding agents are good at the task in front of them and bad at everything around it. A session ends and what it learned disappears with it. Run more than one and neither knows the other exists — same file, same assumption, two different answers.

You end up as the memory. Re-explaining the codebase, refereeing between agents, remembering which decision was already made and why.

Product catalog[2/9]

Everything a team of agents
needs to stop forgetting.

Focused primitives for writing, filing, linking, and recalling what your agents learn.

Four agent modules feeding one shared memory core

01 · MEM_WRITE · MEM_RECALL

One brain every session writes to.

A decision, a gotcha, a fact about the build — written once and recalled by whichever agent needs it next. Recall returns the matches and their neighbours, so a session finds the thing it did not know to ask for.

In practice[3/9]

See it work
before you install it.

Four things Marrow does, shown rather than described. Watch which agents are talking: that is Claude Code and Codex, two different vendors, sharing one memory. No vendor builds that for a competitor, which is why nothing else does it.

The last act is the real dashboard. Drag it, zoom it, click a neuron and read the memory behind it.

Codex works it out. Claude Code already knows. Same memory, different vendor.

Claude Codeidle
Shared brain2 memories
  • bankers-rounding
  • stripe-minor-units
Codexinvoice.ts · bankers rounding

01 / 04

Codex works out how partial refunds should round.

Shared memory

Codex works it out. Claude Code already knows. Same memory, different vendor.

  • Codex works out how partial refunds should round.
  • It writes that down as a decision, filed under billing.
  • Hours later, a fresh Claude Code session asks the same thing.
  • The answer comes straight back, across a vendor boundary nobody had to cross.

Every project

One brain across all your repos, if you want it.

  • Each project starts with its own memory. Nothing leaks between them.
  • Join two projects to the hive with one command each.
  • Now the mobile app can recall a decision the billing API made.

No collisions

Two agents, one file. One of them gets stopped before the damage.

  • Claude Code takes src/billing/invoice.ts. Marrow marks it taken.
  • Codex wants the same file, sees the claim, and asks instead.
  • Claude Code answers from inside its own session.
  • Codex carries on. You were never interrupted.

See your brain

Not a black box. Open it and walk around.

    Run marrow-serve to open the dashboard. Marrow tools include mem_write, mem_recall, mem_ask, mem_reply and mem_inbox.

    How it works[4/9]

    How it works.

    Four moves, one brain. Install, capture, file, recall — and then a fifth that makes the previous four worth the effort.

    zsh — marrow
    $ brew install aryawidjaja/marrow/marrow
    ==> Pouring marrow.arm64_sequoia.bottle.tar.gz
    
    $ marrow setup
     hooks installed
     mcp server registered
     memory at .marrow/
    restart your agent to pick it up

    01 / INSTALL

    One command, and it is wired in.

    Homebrew drops in the binary, then marrow setup registers the MCP server and the session hooks for the repo you are standing in. No per-tool glue.

    decisionauth / middleware split

    Cookie check stays at the edge so the redirect fires before the RSC render.

    area auth · opus-5 · just now
    factotp verify rate limit

    5 attempts per 10 minutes, keyed on phone not IP.

    area auth · 2h ago
    gotchavinext build order

    02 / CAPTURE

    Agents save as they go.

    The moment a session reaches a durable decision, fact, or gotcha, it writes it down — with the model that produced it recorded, so you know whose belief you are reading.

    MARROW AREAS54 memories
    • auth11
    • billing10
    • infra23
    • monitoring10
    ANCHORcrates/spinal-relay/src/lib.rs → fn dial()

    03 / FILE

    Filed by area, pinned to code.

    Every memory lands in an area of the project — auth, billing, infra — and the ones about code carry an anchor, so the brain warns you when the code moves underneath them.

    mem_recallwhy two auth middlewares
    • decisionauth / middleware splithops 0
    • factedge runtime cookie accesshops 1
    • factotp verify rate limithops 2

    The last one never matched your words. It came back anyway.

    04 / RECALL

    Recall walks the links outward.

    A query returns the matches and their neighbours. The neighbour two hops out never matched your words at all — and it is usually the thing you did not know to ask for.

    05 / COORDINATE

    Two agents, one conversation,
    no clobbered files.

    Steps 01–04 are the build. This is the payoff: a session can ask what another one is doing, get an answer, and back off a file somebody else already claimed — instead of finding out from a merge conflict an hour later.

    $ mem_recall "why two auth middlewares"
    › 2 matches · 3 linked
    [decision] auth/middleware split hops 0
    cookie check stays at the edge so the redirect fires before the RSC render.
    [fact] otp verify rate limit hops 2
    never matched your words. read it anyway.
    $ mem_rooms
    #billing-refactor · 1 live session · claimed src/billing/invoice.ts
    Benchmark[5/9]

    Flat, however much
    your project knows.

    A coding agent, one small repo, the same task and the same model every run — Claude Sonnet 5. One thing changed: where the project's conventions lived. Nothing at all, everything pasted into a CLAUDE.md, or the same facts in Marrow.

    Then we counted what carrying that knowledge costs, per turn.

    Context carried per turn. Marrow stays near 24,000 tokens whether the project knows 10 facts or 1,000. A CLAUDE.md rises from 20,962 to 51,141.Tokens of context per turn020k40k60k51,141CLAUDE.md24,325Marrow102001,000Facts the project knowslower is better

    2.10×

    less context per turn at 1,000 facts

    51,141 → 24,325 tokens · p = 0.002

    24k

    per turn, whether the project knows 10 facts or 1,000

    24,073 · 23,703 · 24,325 tokens

    1.8×

    cheaper per task

    $0.50 against $0.90 · Claude Sonnet 5

    How it was graded

    Grading runs the code rather than reading it. Every run has to import, pass its own test suite, and leave the database schema untouched — checked by dumping the real CREATE statements and diffing them. Bootstrap intervals and a two-sided permutation test, no distributional assumptions, every figure pooled across repeated grids.

    Runs anywhere[6/9]

    Your machine. Your data. Your call.

    Marrow runs where your code runs. Nothing leaves the machine unless you decide it should.

    01 / YOUR MACHINE

    Local by default.

    The engine, the store, and the hooks all run on the workstation. Zero data leaves your perimeter.

    02 / YOUR TEAM

    Carried, not centralised.

    Spinal Cloud syncs memory between machines you own. Each machine still holds its own copy.

    03 / YOUR TOOLS

    Any MCP client.

    One brain behind every agent you already use. No per-tool setup and no vendor lock.

    Copyleft, on purpose

    The engine stays open. Fork it, audit it, run it forever.

    No telemetry by default

    Nothing phones home. What your agents learn stays on disk.

    Protocol native

    Built on Model Context Protocol, so it outlives any one client.

    Pricing[7/9]

    The engine is free.
    You pay for the connection.

    Marrow costs nothing and always will. Spinal Cloud lists at $12 per member per month — and is free for everyone while it is in early access.

    Marrow

    The open engine. For anyone running agents on their own machine.

    $0forever

    Install Marrow
    • Shared memory across every session
    • Rooms for live agent coordination
    • Areas, links and code anchors
    • Session hooks and file claims
    • Self-hosted, AGPL-3.0

    Spinal Cloud

    FREE RIGHT NOW

    The managed connection. For teams working across more than one machine.

    $0$12per member / month

    Free in early access

    Start with Spinal Cloud
    • Everything in Marrow
    • Memory carried between your machines
    • Unlimited brains and devices
    • Viewers are always free
    • Per-machine data ownership retained

    Enterprise

    For organisations that need the paper trail as well as the software.

    Custom

    Talk to us
    • Everything in Spinal Cloud
    • Air-gapped and on-prem deployment
    • Security review support
    • Priority fixes on the open engine
    • Direct line to the founder
    Founder[8/9]
    Mutaqin Aryawijaya, founder of Marrow Works

    Built by one engineer

    Mutaqin Aryawijaya

    A machine learning and full-stack engineer with four years of experience taking difficult AI products from research to production — one-shot computer vision, real-time clinical speech, agent systems, and the infrastructure that keeps them useful once real people depend on them.

    Marrow started as a fix for his own problem: too many agents, too little shared context, and the same explanation typed out for the fourth time that week.

    FAQ[9/9]
    01Is Marrow really free?

    Yes. The engine is open source under AGPL-3.0, self-hosted, and free forever. There is no gated core and no seat count on it. Spinal Cloud is the managed connection we sell on top; the engine underneath stays yours.

    02Where does my data actually live?

    On your machine. Marrow stores memories locally and never ships them anywhere by default. Spinal Cloud, when you opt into it, carries memory between machines you own — each machine still keeps its own copy of the data.

    03Which agents and tools does it work with?

    Anything that speaks MCP. Claude Code, Cursor, Codex, OpenCode and other MCP-capable clients connect to the same brain, which is the point: what one tool learns, the next one already knows.

    04What happens when two agents work at once?

    They share a room. Sessions can ask each other questions, read an inbox, and reply. The hooks also claim files, so two agents do not quietly edit the same file and clobber each other's work.

    05What stops memories from going stale?

    Anchors. A memory about a specific function or type is fingerprinted against that symbol. When the code changes, Marrow flags the memory instead of repeating an answer that stopped being true three commits ago.

    06Do I need Spinal Cloud to use Marrow?

    No. Marrow is complete on its own for a single machine. Spinal Cloud exists for the case where the same person or team works across several machines and wants one memory to follow them.

    07Can I self-host the whole thing?

    That is the default. The shape is Postgres and Supabase: run the open engine yourself, indefinitely, or hand the connection layer to us when you would rather not operate it.

    Still something on your mind?Open an issue

    Your agents need a shared memory

    The open engineFree, forever.