Every Claude Code session is somebody's first day.
Yesterday it found the cause of a bug and ruled out two wrong theories on the way. This morning, it remembers none of it.
That isn't the model's fault. A session ends, and everything it learned ends with it. A bigger context window only delays the forgetting.
Two things get lost:
- The work. What's done, what's open, what's waiting on what.
- The knowledge. Findings that took real effort to get.
A markdown TODO list doesn't fix it. It rots in a day, because nothing keeps it honest.
The fix: give it a memory
I use beads (bd). It keeps two things in a small local database inside your project:
-
A task tracker, with dependencies, so
bd readyonly shows work that isn't blocked. - A memory store, for facts every future session should know.
The part that matters: it loads into every new session automatically, before you type a word.
Why not just CLAUDE.md?
CLAUDE.md is the rulebook. beads is the logbook.
Rules barely change. Where the work stands changes every day. Write "Dark mode: waiting on the new colour palette" in CLAUDE.md, and when the palette arrives nobody edits the line. Every new session still thinks dark mode is blocked.
In beads, dark mode depends on the palette task. Close one, and the other shows up as ready by itself.
Use both. CLAUDE.md says how to work. beads says where things stand.
Set it up
brew install beads # or: npm install -g @beads/bd
cd your-project && bd init # also connects Claude Code for you
bd setup claude --check # two green ticks = done
Then save one real finding, with the date and how you know it:
bd remember "The signup form saves phone numbers without the country code. Found 2026-10-15 by checking real signups."
The test: close Claude Code, open a fresh session in the same folder, and ask "What's open, and what do you already know about this project?" If it answers without your help, it works.
This is part 2 of Claude Maxxing, a field journal of the systems I build around Claude Code on real work. The full post covers what's worth remembering (and what isn't), the gotchas that bit me, and what memory still doesn't fix:
Top comments (0)