The Best Graphiti Alternative
Graphiti is the temporal graph engine you build on. Watchman is the thing already built.
Graphiti covers 4 of the 16 capabilities compared in full, and 2 in part. Every row is in the table on this page, sourced and checkable — we publish no benchmark we have not run.
How to read this page. The Watchman column is read from this project's own source. The competitor columns describe the shipping products as of September 2026, are the only claims here not read from our repository, and should be re-checked before you rely on them. If we have something wrong, tell us and we will correct it. Competitor claims last checked September 2026.
The six things the matrix says nobody else does
Every memory product will tell you it remembers. The question worth asking is what happens next — whether anything acts on what was remembered. These six are where Graphiti and Watchman stop being the same category of tool.
— Blocks an agent on memory state, per subject.
— Audits the code it just wrote, and makes the coder answer.
— Decides routine approvals for you while you are away.
— Caches proven tool results so the same answer is never bought twice.
— A code graph of symbols and call edges, scoped per folder.
— Peer-to-peer team sync with no cloud data path.
A guard is compiled code, not prompt text an agent can reason its way around. That distinction is the whole reason the first row exists.
Counted from the comparison table below this chart — recount it yourself.
Nobody has to be in the loop
Most “autonomous” agent tooling means an agent that stops every four minutes to ask you a question. The default here is the opposite: it runs the loop and interrupts only for things that are genuinely irreversible.
Editor hooks record every session and every edit, so there is no “remember this” step to forget — which is the reason most memory tools quietly end up empty. The proxy answers routine approval requests from a brief you wrote. The auditor reads what the coder actually edited and puts a finding in its next turn as a conversation it has to answer. The recorder serves proven tool calls from the record instead of paying for them again.
Three things it will never decide for you, whatever the dial says: anything the Guard stopped, anything above the severity ceiling you set, and anything on a project with no brief. Autonomy is a dial on reversible work, never a bypass on work that cannot be undone.
What it costs at the margin
Recall runs against a local index. You are not billed to remember, and that single fact changes behaviour: teams that pay per query learn to query less, and a memory nobody searches is not a memory.
The proxy, the background jobs and the auditor run on the agent CLI you already pay for — your existing sign-in, no second bill. A decision is reviewed by a model exactly once and the flag is stored, so no restart or sync replay can spend a second call on the same card. Continuations and handoffs approve on a fast lane with no model call at all.
Set every model to off and it still works. Capture, filing, linking, the graph and search all keep running with nothing spent. That is the floor, and the floor is free.
| WATCHMAN | |
|---|---|
| Marginal cost per recall | £0 — a local index, you are not billed to remember |
| Setup effort | None — it installs and self-wires into every agent tool it finds |
| Ongoing effort | None — capture, filing, linking and handoffs are automatic |
| With every model set to off | Still captures, files, links, graphs and searches |
| Ecosystem maturity | Young — fewer people have hit your bug before. This is the real downside. |
What an agent can actually call
A memory you cannot reach from the tool you are in is a memory you will not use. The surface is deliberately wide, and the editor hooks mean most of it is never called by hand.
Counted from the crate in projectmd.md. Our numbers only — we have not counted the equivalents for other tools.
Watchman and Graphiti, capability by capability
| CAPABILITY | WATCHMAN | GRAPHITI |
|---|---|---|
| Blocks on memory state | Yes — per subject | No |
| Self-auditing code review | Yes — live, on save | No |
| Decides for you while you are away | Yes — the proxy | No |
| Caches proven tool results | Yes — the recorder | No |
| Code graph — symbols and call edges | Yes — folder-scoped | No |
| P2P team sync, no cloud data path | Yes | No |
| Org-wide memory you can drop files into | Yes | Partial |
| Automatic capture, no “remember this” | Yes — editor hooks | Partial — episode ingestion or API |
| Runs fully offline | Yes | Yes — self-hosted |
| Data never leaves the machine | Yes | Yes |
| Works with the cloud down | Yes | Yes |
| MCP tools | Yes — 37 | Not stated |
| Temporal knowledge graph | Yes | Yes |
| Multimodal embedding | Yes — image, video, doc | No |
| Per-project rule enforcement | Yes | No |
| Desktop app | Yes — desktop app | No |
Choose the right tool
Choose Watchman when
- You want a tool that installs, not a framework you assemble
- You would rather not run Neo4j, FalkorDB or Neptune to have a memory
- Capture should happen through editor hooks rather than through your own ingestion code
- You need the acting half — guards, auditor, proxy, recorder
Choose Graphiti when
- You are building your own product and want a temporal graph engine as a library, with the modelling under your control
- Bi-temporal fact modelling with full provenance to source data is the core requirement, and you want it Apache-2.0 in your own stack
- You already run one of its supported graph databases and that is not extra cost for you
Questions teams ask first
- Is this the same comparison as Zep?
- No, and the difference matters. Zep is the commercial managed service; Graphiti is the open-source core it is built on, and it is self-hosted only. That changes the locality answer completely — Graphiti can run entirely on your infrastructure, so it scores where hosted Zep does not. The remaining gap is that it is a framework for building memory, not a memory that arrives working.
- You also build a graph. Why is this not the same thing?
- Graphiti is more configurable at the graph layer and is designed for you to model with. Ours is fixed, folder-shaped, and requires no database of its own — a decision that trades modelling freedom for there being nothing to set up or operate. If you want to control the schema, that trade goes the other way.
- Is the data really local?
- The engine is an executable on your disk and a single redb file. Nothing leaves the machine unless you send it to a teammate, and that goes to them encrypted rather than through anyone's inference API. There is no network hop in the data path, which is also why it works on a plane, on hotel wifi, and during someone else's outage.
- What is the honest downside?
- The ecosystem is young. There are fewer people who have hit your bug before, fewer blog posts when something goes wrong, and fewer integrations written by strangers. That is the real cost, and it is the last row of every table on this page.
- Do I have to stop using what I have?
- No. Capture installs into every agent tool it finds on the machine, so switching agents does not restart your history. If you already keep memory somewhere else, running both costs you nothing but disk.
- How much work is it to keep going?
- None by design. Indexing, the code graph, the auditor and peer sync are background work on a schedule. A memory tool with a “save this” button ends up empty, because the moment worth saving is never the moment you think to press it.
- How were these comparisons put together?
- The Watchman column is read from this project's own source. The competitor columns describe the shipping products as of September 2026, are the only claims here not read from our repository, and should be re-checked before you rely on them. If we have something wrong, tell us and we will correct it.
Install it and stop remembering things yourself
Local, free at the margin, and it fills itself while you work.
START FREE TRIAL