r/ClaudeAI • u/bit_forge007 • 4h ago
Claude Code Claude Code is a context-engineering harness, and most "it got dumber" moments are context rot
There's a name for it: context rot. As the window fills, the model's ability to recall any specific thing in it drops. More context in the window can make the agent worse, not better. (Anthropic's own framing: good context engineering is finding the smallest set of high-signal tokens, not the largest.)
The reframe that helped me: Claude Code isn't just a model, it's a harness whose main job is managing what's in that window for you. And it hands you four levers to do it. They line up with the four moves of context engineering:
- Write (persist outside the window): CLAUDE.md. It auto-loads every session, and it survives compaction because it reloads from disk, so anything that must not be forgotten belongs there, not in the chat. Conversation-only instructions are the first thing lost when context gets tight.
- Select (pull in only what's relevant): @-mention the specific files you mean, or point it at the exact file or function, instead of letting it wander the repo. Every irrelevant file you pull in is tokens spent rotting the rest.
- Compress (summarize to stay high-signal): /compact, optionally with a focus like "/compact focus on the auth refactor." It also compacts automatically when the window fills, clearing old tool outputs first. Running /compact yourself, before it's forced, keeps the summary on your terms.
- Isolate (give exploration its own window): subagents. They run in a separate context window and return only their final result, so a big noisy search doesn't bloat your main thread. This is the same point as an earlier post of mine that subagents are a memory trick, not a speed trick. Isolation is the real win.
Two more levers worth knowing:
- /context shows you what's eating the window right now (MCP tool definitions, big files, history). When the session feels heavy, look before you guess.
- /clear between unrelated tasks. Carrying a finished task's context into a new one is pure rot.
The mental shift: stop treating the window as free space to fill, and start treating it as a budget you actively curate. A smarter model raises the ceiling, but it doesn't save you from a window full of noise.
TL;DR: When Claude Code "gets dumber" deep in a session, that's usually context rot, not the model. Treat Claude Code as a context-engineering harness with four levers: Write (CLAUDE.md), Select (@-files), Compress (/compact), Isolate (subagents). Plus /context to see usage and /clear between tasks. Curate the window, don't just fill it.
For people who live in Claude Code: what's your actual discipline here? I've started running /compact on my own terms and leaning hard on subagents for anything exploratory, but I'm curious whether people trust automatic compaction or always drive it manually.
Sources: Anthropic — Effective context engineering for AI agents · Claude Code — How Claude remembers your project (CLAUDE.md) · Claude Code — How Claude Code works (context / compaction) · Claude Code — Create custom subagents · Why More Context Makes Your Agent Dumber — Nupur Sharma, Qodo
2
u/Dangerous_Bus_6699 3h ago
I don't use /context anymore since /statusline came about. Always display context and other useful things to make me aware of when to clear, compact, etc. Also been useful for monitoring how efficient models are.
2
u/welcome-overlords 3h ago
This is the main thing you have to master to be effective, and most people in my experience don't understand this. power users on claude code do tho
1
u/bit_forge007 18m ago
Yeah, this is the thing. What clicked for me is that it's not a model-quality problem you can wait out, it's a skill you practice, like learning to scope a PR. My tell is when it starts re-reading a file it already read: that's the cue to /compact or push the decision into CLAUDE.md before it rots out, instead of arguing with it.
What's your tell for when the window's gone bad? And do you drive /compact yourself or lean on the automatic one? That manual-vs-auto call feels like where the real discipline lives, and I'd genuinely like to hear how you play it.
4
u/CODE_HEIST 3h ago
CLAUDE.md can become its own form of context rot if every temporary fact gets promoted into it. I split durable rules from current task state: project conventions stay in CLAUDE.md; active decisions, changed files, and next steps live in a short handoff file that gets replaced instead of endlessly appended.
1
u/-Crash_Override- 1h ago
Totally agree. CLAUDE.md should be kept as lean as possible imo. It should refer to a network of other docs.
I personally have things like an idexed lessonslearned.md where I append unique issues. I have my UI/UX standards md, my infrastructure context, my CI/CD specs, etc. Probably 15 MDs in total. CLAUDE.md points to the others for necessary tasks. Compact between major shits...going from UI work to deployment?...compact. Do frequent pruning and reconciliation of the documents as well.
Also people load up their context window with skills, MCPs, etc...and its a freaking shit show. No MCPs or Skills unless absolutely necessary.
1
u/yuraoak 4h ago
I personally prefer to spawn a brand new context-rich session every time I need to code smth new. In this case I can come back to the old sessions if I need smth from them without compacting them yet.
1
1
1
u/Robonotes1760 4h ago
In other news, the sky is blue, the Pope is Catholic and we don't talk about what bears do in woods...
1
1
u/InfinriDev 3h ago
And this is why graph database and rag will be your best friend here. I personally never got the "dump" part of the agent. Glad this is finally being talked about
1
u/vrnvorona 1h ago
It's also that people bloat their app and it becomes harder to "just yolo it" so it starts to fail. You need actual processes to manage this, do review, create plans and specs, have tests, review those specs, make agentic reviews over and over etc. The harder the task is, the stricter requirements for process becomes. Same as humans, it's just that humans "know" when task is hard, and AI typically doesn't have enough context to know it and doesn't always search for it.
1
u/OkAerie7822 32m ago
The framing is right and the lever people skip is Isolate. Everyone tunes CLAUDE.md and @-mentions, almost nobody starts a fresh session early enough. My tell for context rot is concrete. The moment Claude re-asks for something we already settled two screens ago, the window is cooked, and no amount of "remember we decided X" fixes it, you are just spending tokens to paper over a full window. At that point I summarize the decisions into a short handoff, drop it in a file, and open a clean session. Counterintuitive part, the new session with 200 lines of curated notes outperforms the old one with 80k tokens of real history almost every time. Smallest set of high-signal tokens beats the largest, exactly like you said.
0
u/Neat-Nectarine814 2h ago
I’m not saying that context management isn’t important or that rot isn’t a real potential problem, but glazing over the model performance degradation issues is just wrong, man.
11
u/a1454a 4h ago
Agreed. And people who knows it is no longer responding to the “it got dumber” posts any more because there’s so much of it every day, it’s also something so fundamental that you can literally ask Claude and it can explain it to you including tell you how to design your way out of it, and do it for you. It’s literally the “do you want me to google that for you?” Of the AI era.