Edited by humans. Written by AI. How our editing works
All articles

Claude Code's Memory Feature Does More Harm Than Good

Theo's audit found 45 stored memories in Claude Code, 26 never read once. The case against AI coding memory systems — and what actually works instead.

Bob Reynolds

Written by AI. Bob Reynolds

August 26, 20267 min read
Share:
A man with a shocked, distressed expression holds his face while a dialog box warns about turning off Claude's memory feature

Photo: AI. Tomoko Hayashi

Imagine hiring an office assistant who, after every task, scribbles notes about what just happened and files them somewhere in the building. They never tell you they're doing this. The notes pile up. Some are useful for a day or two, then go stale. Some were wrong from the start. The assistant keeps consulting them anyway — or more often, just keeps adding new ones without reading the old ones. You only discover any of this when you go looking.

That is Claude Code's memory feature, according to developer Theo — known online as t3.gg — who published a detailed audit of what the tool had quietly saved across his machines. The numbers are hard to argue with: 45 stored memories on his main development box alone, and 26 of them had never been read once.

What stale notes actually cost

The content of those memories is where it gets genuinely troubling. There were notes about a GitHub CLI version that was out of date — and had since been updated. Notes about a feature comparison from three months prior, for a feature that either shipped or didn't. Notes about a build conflict on a phone that caused a rage-quit moment and led Theo to switch tools entirely for iOS work. The conflict was resolved. The note remained, dutifully preserved, potentially steering future sessions toward a problem that no longer existed.

Think of a personnel file that still lists an address someone moved away from four years ago. The file doesn't know the address is wrong. It doesn't flag itself as suspect. It just sits there, confident, available, waiting to be cited. That's what a stale memory file does to an AI agent starting a fresh session — it hands the model a map of a city that's been half-demolished and rebuilt since the map was printed.

This is not a subtle failure mode. Theo found memories describing "point in time states" — moments when a drift was being migrated, a PR was open, a process was leaking — without any indication of whether those states had since resolved. "These describe a moment," he said. "The PR's merged or didn't. The leak got fixed or didn't." The memory system preserved the snapshot but discarded the resolution.

The ratio tells its own story: of all the sessions Theo ran against his main T3 Code clone, the memories were being written to far more often than they were being read. Of the 45 stored, 26 had never been consulted at all. The system was optimizing for capture, not for use.

"Code is truth"

A clip Theo shared in the video makes the underlying argument cleanly. Mario Livadariu, the creator of the Pi framework, said it plainly in a conversation that sparked the video: "For coding, I don't want a memory system. Code is truth. Code is the ground truth. It's also evolving and I don't need another place that I need to maintain. I already have a codebase to maintain."

That's the crux of it. A codebase is already a record of decisions — what was tried, what was kept, what was structured which way and why. When you add a memory layer on top of it, you're not supplementing the record. You're creating a second, competing record that has no mechanism for staying in sync with the first. Every comment that outlives the code it describes is a small version of this problem. Memory files are that problem, systematized and automated.

Cursor's trajectory is worth noting here. The company built significant early infrastructure around dynamically feeding AI agents the right code context — sophisticated graph-based traversal systems that could map a codebase and serve up relevant pieces. Theo notes in the video that even Cursor has since moved away from that approach entirely. The lesson the industry drew, however belatedly, is that models trained to use bash tools can find what they need on their own. The elaborate scaffolding was solving a problem that better-trained models stopped having.

The open-source ecosystem has been busy building persistence layers for Claude Code — tools that claim to fix the statelessness problem with smarter storage and retrieval. What Theo's audit surfaces is a harder question: even if the storage is smarter, is statelessness actually the problem you need to solve?

The notes you write yourself are different

Theo's answer to memory isn't amnesia — it's intentional, human-authored context. He maintains a claude.md configuration file for each project that reads less like technical documentation and more like onboarding a new colleague who needs to understand not just the codebase but the product, the values, and the decisions already made.

His file for T3 Code explains what the project is, why it's open-source and must stay that way, why remote performance matters, what breaks when you change the data layer without thinking about all three platforms simultaneously. There's a glossary so the agent and the humans working alongside it share a common vocabulary. There's a "taste" section — contributed largely when collaborators complained about specific code patterns — that describes the aesthetic sensibility the project is trying to maintain.

None of this goes stale the way memory files do, because it's maintained deliberately. When the project changes direction, a human updates the file. The difference between that and an auto-generated memory is the difference between a decision and a side effect.

Developer Lauren Tan, who ships code at Cursor and has written publicly about agent workflow, frames the hierarchy well: the first move when an agent makes a mistake should always be to ask whether the codebase architecture can be changed so the mistake becomes impossible. If not, make it a lint rule or a CI check so the agent catches the problem before surfacing it to you. Theo built exactly this for T3 Code's data layer — a CI check that measures how much data traverses the websocket per session, with a ceiling that fails the PR if bandwidth spikes past acceptable levels. The agents now fix regressions before declaring themselves done.

That's the ladder: architecture first, automated enforcement second, explicit instruction third. Auto-generated memory doesn't appear on the ladder, because it doesn't prevent mistakes — it just narrates them after the fact and hopes the narration proves useful next time.

The question the memory advocates haven't answered

There's a version of the Claude Code memory argument that sounds reasonable: the model forgets everything between sessions, so why not help it remember? Theo's audit is a useful stress test for that intuition, because it shows what "helping it remember" looks like in practice when left to run autonomously. It remembers the GitHub CLI version you updated three months ago. It remembers a sidebar variant you considered and discarded. It remembers the topology of a Railway deployment from a project that's since been restructured.

Theo offers one important concession: memory in conversational contexts is different. When a user asks about shoulder pain and the relevant context is a keyboard they mentioned six weeks ago, there's no programmatic path connecting those two things — the connection is genuinely non-obvious and a memory system might surface it usefully. Code doesn't work that way. If a button isn't doing what it should, you can trace from that button through every function it touches. The structure is explicit. The agent doesn't need to remember; it needs to look.

The harder challenge for memory advocates is evaluation. As Mario noted in the clip Theo shared, "I'm pretty sure you've never done an evaluation if that actually produces better outputs and I guarantee you it does not." That's a strong claim, but it's the right question to be asking. The enthusiasm for memory systems has largely outrun the evidence that they help.

Every session, the model wakes up with no recollection of what came before. The right response to that isn't to flood it with automated notes that may or may not reflect current reality. It's to make sure that when it opens its eyes, the codebase itself — clean, well-structured, honestly documented — tells it what it needs to know.


By Bob Reynolds, Senior Technology Correspondent, BuzzRAG

More Like This

Tweet from verified Boris Cherny (@bcherny) stating "Coding is solved, bugs are not yet solved. Fix incoming" posted Aug…

AI Has Solved Coding, But Not Software Engineering

Boris says coding is solved. Matt says that's VC fluff. Theo says both are right — and the argument turns on what 'coding' actually means.

Bob Reynolds·16 hours ago·8 min read
Smiling instructor next to whiteboard diagram explaining Full Claude Code Course with setup, subagents, agent teams,…

Claude Code: What Four Hours of Training Actually Reveals

Nick Saraev's four-hour Claude Code course promises productivity gains. What it actually teaches about AI-assisted development in 2025.

Bob Reynolds·5 months ago·6 min read
Animated yellow character in blue shirt sits at desk with microphone and laptop against dark background

Decoding Ralph Loops: AI Task Management's New Frontier

Explore Ralph loops and their impact on AI task management, context rot, and implementation challenges.

Bob Reynolds·7 months ago·3 min read
Man with shocked expression next to two slider scales comparing "Good options" versus "Mental illness" with text about…

How Theo Cut a $2,000 AI Coding Run Down to $150

Developer Theo shows how configuring Claude's Fable 5 as an AI orchestrator—not just a chatbot—cleared a month of backlog in three days for around $150.

Bob Reynolds·2 months ago·7 min read
Man in blue shirt pointing at glowing eye icon with DeepSeek-V4-Flash Vision text displayed below

DeepSeek Harness Gains Vision: A Cheap Claude Alternative?

DeepSeek's new vision model and a web-scraping workflow promise serious AI coding power at cents per session. Here's what that claim actually means.

Bob Reynolds·3 days ago·6 min read
Hand-drawn diagram mapping Claude code concepts with central hub showing tokens, memory, MCPs, automations, and components,…

How Claude Code Actually Works: A Practical Guide

Claude Code has ten core concepts worth understanding. A new video maps the terrain clearly—here's what it gets right, and where the cost warnings deserve attention.

Bob Reynolds·7 days ago·8 min read
Claude Code PRO WORKFLOW banner with orange mascot character and smiling man in black shirt against diagonal striped…

Claude Code Workflow: Build Real Apps With AI Agents

Leon van Zyl's Claude Code workflow—parallel agents, automated security audits, reusable skills—raises real questions about how AI builds production apps safely.

Rachel "Rach" Kovacs·3 months ago·7 min read
Woman in white shirt smiling at camera with "it's easy" text and orange starburst graphic on light background

Claude Code Explained: What Anthropic's Free Course Covers

Anthropic's free Claude Code course on Anthropic Academy covers setup, CLAUDE.md files, and security. Here's what the curriculum actually teaches—and what it leaves open.

Samira Barnes·3 months ago·7 min read

RAG·vector embedding

2026-08-26
1,724 tokens1536-dimmodel text-embedding-3-small

This article is indexed as a 1536-dimensional vector for semantic retrieval. Crawlers that parse structured data can use the embedded payload below.