Your AI history is being
deleted right now.
Claude Code deletes session files older than cleanupPeriodDays — default 30, minimum 1 — at startup. It is documented, not a bug. Don't take our word for it. Run this:
The oldest date you see is your cliff edge.
Everything before that date is already gone. Not archived, not compressed — deleted, on a timer you probably never set.
Here is what it returned on the author's machine.
One machine, one user, one settings file. These are his numbers, not a claim about yours — that is what the command above is for.
Every number on this page comes from a committed data file written by a script that ran the real command — the site cannot invent a fresher truth than its stamps.
Forty-one days. Not because anything broke — because the default did exactly what the docs say it does. The work is gone and nothing announced it.
Other agents are not on the same clock.
On the same machine, ~/.codex/sessions was observed still holding transcripts from September 2025 — about eleven months. That is an observation on one machine, not a retention guarantee from anybody. The point is not that Codex is safer. The point is that you do not control either policy, and neither one told you what it was.
brain-mcp is the recorder.
It sits under your agents and writes their conversations down before anything gets a chance to delete them. Raw bytes, on your disk, append-only.
It does not parse and discard. It keeps the file.
Hook
Where the agent offers hooks
Claude Code exposes Stop and SessionEnd. The recorder registers there and the agent hands the transcript over itself — no polling, no guessing when a session ended.
Watch
Where it doesn't
Codex and Pi have no hook surface, so the recorder polls their session directories on a 60-second scan and picks up whatever has grown since the last offset.
Two intake mechanisms, one spool, one floor. The format is the contract →
Sources
“Reserved” means the lane is named and not built. It captures nothing today.
It has eaten a real corpus.
On release day, the published wheel — installed the way a stranger would — backfilled the author's machine in one brain-mcp record:
Then one search, verified by hand.
Searching that floor for the phrase “eat 100% of the jsonl data” returned the author's own prompt from 2026-08-09, cited to its exact file and line — and the citation checks without the database in the loop:
That is the whole contract: a claim, its bytes, and a hash anyone can recompute. When there is no match, the tool says so and names what it searched — it never fills the silence.
The shelf
Not a docs site — a shelf. Six things you can take right now, each with the command that takes it and a line saying where its bytes come from. The SQL below is extracted from the installed package at stamp time, so this page structurally cannot drift from the code.
The recorder
Capture + floor + 7 cited-or-abstain MCP tools. One package, two commands.
The Claude Code plugin
Hooks + MCP server in one install, from inside Claude Code itself.
The floor schema
The DuckDB schema for a byte-preserving conversation floor — files, witnesses, raw lines, ingest state. Paste it, own it.
The dialect maps
Where Claude Code, Codex and Pi keep transcripts on disk, and the SQL views that read each dialect over raw lines.
The honesty contract
The For-AI-Assistants block: cite or abstain, abstention carries coverage, unknown is never fine. Paste it into any project's instructions.
The discipline plugins
prove-it, preflight, build-gate — the epistemic harness the recorder was built under, rewritten for anyone. MIT.
Install
pipx
The second command writes the Claude Code hooks.
Claude Code plugin
Run these inside Claude Code itself.
What you get
A floor of raw bytes→
Append-only session files under lake/<lane>/, one manifest line per chunk carrying a sha256. DuckDB sits on top as a cache and is fully re-derivable — if the database burns, the floor rebuilds it.
Recall that cites or abstains→
Every hit comes back with a file, a line span and a sha256. You can verify any claim with sed and shasum. When there is nothing, the answer is an abstention that names what was searched — not a guess.
Health that admits what it doesn't know→
Three verdicts: fresh, stale, unknown. Unknown means unmeasured, and it is never summarized as fine. Staleness is measured as the gap between the origin file and the floor, not against a wall clock.
A backup that reads itself back→
brain-mcp backup syncs the lake and manifest to a destination, then re-hashes sampled files there to confirm what arrived. The verify can fail — a backup that was never read back is a claim, not a backup.
Why it got built
The author was diagnosed with ADHD at 44 and cannot reliably reconstruct what he decided last Tuesday, so a deletion timer he never set was not a minor annoyance — it removed the only record of his own reasoning. That is the origin story, and it is the whole of the origin story. The tool is a recorder. It is useful for the same reason a flight recorder is useful, whatever your memory is like.
It stays on your machine.
No cloud. No accounts. No sync. The floor is a directory in your home folder, created mode 0700.
100% local. MIT licensed.
What the product sends, and what this website sends →Start recording.
The transcripts you already have are the ones you can still save.