April 21, 2026
Claude Code Has A Big Problem. What You Can Do.
What is really making the model dumber

By Alex Dunlop
4 min read
I've never met an engineer who would confidently lie to my face about finishing tasks. Claude Code is doing this daily now.
My last post on Opus 4.7's breaking changes got a lot of feedback. Developers reporting the same thing. The experience has regressed.
It's not just my post. It's all over Reddit, Hacker News, X threads. AMD's director.
Not a Medium member? Read for free by clicking here.
Some pushback I got was "isn't this just like working with a junior/person". No, a junior doesn't completely lie about task completions. They wouldn't lie right next to you saying "oh yeah I just read that", when looking at the logs they didn't.
Over the weekend I went deeper. Researching, watching breakdowns, checking 3rd party daily testing sites. Talked to as many developers as possible (we even had a meeting at work).
The result is clear. Claude Code is making our jobs harder. Here's what you can do about it.
Where Are The Regressions Coming From?
The regressions aren't coming from a single place. That's what has made this so hard to pin down.
When you send a prompt to Claude Code, it passes through multiple different layers. Your prompt goes through a harness, which wraps the system prompt and tool definitions. It then hits the Claude API, which routes it to a GPU, then finally the model generates a response.
Any one of these layers affects the end experience.
Opus 4.7 shipped a new tokenizer with up to 1.35x more tokens. Same price per token, but as everyone has reported it rips through your context faster.
Thinking tokens are hidden by default now. You still pay for them. Thinking depth has dropped 73% according to AMD's analysis.
The harness has changed. Claude Code's system prompt has gotten heavier with every feature they've shipped. More tools, instructions, and bloat.
But one of these is doing the most damage.
The Harness Is The Biggest Problem
When you use Claude Code, you are using a massive wrapper to then call Claude.
This wrapper decides what it sends to the model. It decides which tools the model can call and how the conversation history is structured.
Matt Mau built a benchmark recently called TerminalBench. It measures how well models implement a document containing 100 features. He tested the same model across different harnesses.
- Opus in Claude Code scored 58%.
- Opus in Cursor scored 73%.
The exact same model, but with a different harness.
The results from the bench are insane, of all the harnesses using Claude, Anthropic's Claude Code ranks the lowest.
This could mean the best way to use Claude right now is not with Claude Code.
The reasons why?
- Bloated system prompt, more system prompt less room for actual code/context.
- File read enforcement is legit broken, when looking for a file (I have experienced this 30+ times today alone).
- Read to edit ratio is too low, reported by AMD, Claude Code used to read 6.6 files per edit, now it's 2.
- The 1M context window is on by default, Anthropic released a postmortem in September, admitting routing requests to 1 million token version caused quality degradation.
What You Can Do Right Now
The harness problem isn't something you can fix (using Claude Code). But there are some things to help.
Stay on Opus 4.6 while you can. Set your effort to max and use it as the default until things are resolved.
alias claude="claude --model claude-opus-4-6 --effort max"alias claude="claude --model claude-opus-4-6 --effort max"Use Claude through a better harness. This is the biggest takeaway from TerminalBench. Cursor with Claude Opus is scoring higher than Claude Code with the exact same model. I have been personally doing this and am going through the TerminalBench list as we speak, if you use one of these tools I would love to hear your thoughts.
Run a second pass through Codex. Look I personally didn't want to switch to OpenAI either but Claude Code is marking tasks when it hasn't done anything. If you want to use Claude Code still, then simply use Codex as a verification layer. This is what AMD was doing before they revoked access to Claude Code.
Recent reports show that even CLAUDE.md rules are being ignored in some cases. But when they do work, this can help.
For every claim or finding, quote the exact code that proves it.
If you cannot quote the actual code, say "I need to read this
file first" instead of making the claim.For every claim or finding, quote the exact code that proves it.
If you cannot quote the actual code, say "I need to read this
file first" instead of making the claim.It's time for us not to rely on one harness
Don't rely on just one provider. This has been the biggest lesson of all. Claude Code could improve or get worse, we shouldn't be at the mercy of someone else's prompt. Like myself explore Aider, Forge Code, Cappy, or build something minimal yourself.
These tools are showing that less bloat means much better output.
We've moved past the days where Claude Code was the best and nothing else came close.
I use Claude and Claude Code every day. I'm not writing this to tear it down. I'm writing this because the developers relying on it deserve to know what's happening and what they can do about it.
I am not affiliated with Anthropic, AMD, or MarginLab. All thoughts are my own.
One more thing
If you want to follow along with how I'm navigating all of this, I write about it on my Substack. Real workflows.
I'm also building a course for engineers who want to be better at shipping with AI. 10 years of building distilled into something I wish I had when I started. You can join the waitlist.