Original Reddit post

I run Claude Code (sometimes Codex/Cursor too) on the same repo, and two things drove me nuts: Every session starts blind. It re-greps the repo to figure out “where were we” — thousands of tokens, every time. Worse: one agent makes a decision, the next session has no idea, and undoes it. Or two agents trample each other. I know there are a million “AI memory” tools right now (saw someone call it the 10th-memory-tool-of-the-day, fair). So I built the opposite of those. No embeddings, no vector DB, no background server, no AI model running, no API key. It’s just a small append-only journal in your repo’s .agent/ folder, committed to git. Decisions, goals, and what each agent did land there as plain text. Next session the agent reads one ~1KB file instead of re-scanning the repo. And because it’s in git, my whole team’s agents read the same thing — a decision made yesterday is visible to every agent tomorrow. .agent/ is to agent memory what .git is to your code. The part I actually care about: it records decisions with supersede — “we chose X, replacing Y.” So there’s always exactly one active answer, and no agent quietly reverses a call someone already made. npm i -g u/memxai/cairn cairn setup Two commands, wires into Claude Code, works offline. Apache 2.0, open source: github.com/Abhishekxdg/cairn Genuinely curious how others handle this — right now most people seem to just cram it into CLAUDE.md and hope. What’s working for you? submitted by /u/Antique-Willow-5841

Originally posted by u/Antique-Willow-5841 on r/ClaudeCode