Checkable by design
Every fact carries its reasoning, its evidence and its provenance — observed, stated by a person, or inferred. A claim you can check without asking anybody.
Reasoning, evidence and provenance on every fact
Because it gets trusted. Knowl gives every fact your agents store a record of where it came from, a review trail, and a successor when it changes — so the answer they hand back is the current one, and you can see who settled it.
How this was built — the approaches that failed first, and the measurements that ruled each one out.
~/your-repo
$ npm install -g @dat999zx/knowl
added 1 package
$ knowl --version
5.14.0
Node 20 or newer. Nothing else to install.
A session ends and the context goes with it.
It gets re-proposed. Six months on, nobody can say why it was decided.
Somebody acts on it. Stale knowledge is worse than none, because it gets trusted.
The next one starts from zero. The same ground gets relearned every week.
Every fact carries its reasoning, its evidence and its provenance — observed, stated by a person, or inferred. A claim you can check without asking anybody.
Reasoning, evidence and provenance on every fact
Knowl runs in your repository and keeps its knowledge there. Your code, your embeddings and your session history are never uploaded.
Local by default, shared on purpose
A fact records what it replaced and what replaced it. Superseded knowledge is never deleted — there is no delete verb in the product at all.
History is the feature, not a changelog
Adapters
Knowl runs as an MCP server, so anything that speaks MCP works with no adapter to write. Three of these also take lifecycle hooks, which is what lets an agent capture what it learned without being asked.
knowl init claude
MCP + hooksknowl init codex
MCP + hooksknowl init cursor
MCP + hooksknowl init copilot
MCP + hooksknowl init openhands
MCP + hooksknowl init antigravity
MCP + hooksknowl init windsurf
MCP + gateknowl init cline
MCP + pluginknowl acp
MCP + ACPknowl acp
MCP + ACPknowl acp
MCP + ACPknowl acp
MCP + ACPknowl init claude-desktop
MCPknowl init opencode
MCPspeaks MCP
bring your ownBefore / after
Most teams already have agent memory. It is a markdown file nobody trusts, and a person who remembers the rest.
Freshness
A memory tool that only stores things goes stale silently. This is what happens to a single claim over four months — every step recorded, nothing overwritten, nothing deleted.
“What's our rate limit on the public API?”
100 requests a minutefactobserved api-gateway
Approved in the review queue
“What's our rate limit on the public API?”
500 requests a minutesupersedes the March fact
The March answer is still there
Proof
When a fact changes, most memory tools keep handing back the old one. On the public benchmark for exactly this, Knowl got 90 of 100 right.
SubEM on MemoryAgentBench FactConsolidation-SH at 262K, scored with the benchmark’s own harness. Method, raw results, and the splits where we do worse: the full write-up.
In their words
Memory going stale is not our framing of the problem. It is written into the documentation of the agents your team already runs.
Anthropic
“Over many sessions a memory store accumulates duplicates, contradictions, and stale entries.”
Managed Agents documentation — Dreams
OpenAI
“Memory can become stale. Agents are instructed to treat memories as guidance only.”
Agents SDK — agent memory
Greyhound Research
“The deepest flaw in current agent memory is that it mistakes retrieval for memory.”
Sanchit Vir Gogia, Chief Analyst — via InfoWorld
Quoted verbatim from published sources, read August 2026. These are observations about the problem, not endorsements of Knowl — every link goes to the page the sentence was read on.
Pricing
Queries never reach us — your agents read a replica on your own machine, so reading back is free at every tier and always will be.
Accounts are free and so is your first workspace. Anyone can be invited in and use all of it — you pay when your team outgrows what Free carries each period.
A hosted memory layer for coding agents. Your agents write what they work out to a local store; publishing lifts a fact into a shared workspace your team reads from.
No. The index, the embeddings and every session stay on your machine. Publishing is an explicit act, and only the fact you publish travels.
It is superseded, not deleted. The new fact records what it replaced, the old one stays queryable as history, and only the current answer is returned by default.
A wiki has no idea when it went stale, and a vector store returns the old claim beside the new one. Knowl records supersession, so the answer you get is the current one.
Claude Code, Cursor, Codex, Gemini CLI and Claude Desktop, configured by one command. Anything that speaks MCP works without an adapter.
Only the members of the workspace you published into. Knowledge written privately stays on your machine until someone promotes it deliberately.
Every write is secret-scanned on the server, on the way in, every time — not once at setup. A refused write names what tripped it without echoing the value back.
One repository is enough. Connect it, sign the CLI in, and let a week of work accumulate before you judge it.