The rate that Anthropic has been shipping features and bugs in Claude Code has massively increased in the last several months. I used to point to Claude Code as an example of how you could do stable reliable software development with ai-assisted techniques, but those days are long past.
If you’ve been following Reddit or social media this week you know by now that not everyone is very happy with Anthropic’s coding performance since they released Opus 4.7.
There has been a lot of speculation about whether the frequent changes to the Claude Code harness, or the changes to the model were to blame. Anthropic has come out blaming the harness and publicly admitting to dramatically changing caching behavior upstream. I like that Anthropic has suddenly discovered their ability to speak to the public… they might have been a few months late to that discovery.
I’m done trying to reverse engineer Anthropic’s bad product decisions and poor communication. Claude Code and Opus 4.6 were doing doing an excellent job a few weeks ago for the long-running orchestrated software tasks I threw at them. No combination of harnesses and models including moving back to 4.6 has gotten me even close to returning to this level of performance.
There are a lot of constantly-shifting recommendations from Anthropic on how best to to install Claude on your machine so you will have to figure out which one you used and blow it out prior to pinning with npm unless you are already on npm.
If you installed with brew you can try and use brew to uninstall (it never seems to work for me)
It seems the current recommended way to install Claude is using their native binary, so you may have to track that down yourself and remove.
which claude is your friend
All the important bits related to your workflow are in ~/.claude so feel free to clobber any binaries you find with which.
Anthropic don’t maintain backwards compatibility in all those state files littered in your ~/.claude directory and are constantly mutating config files. Any of these may break or otherwise confuse an older version of Claude. Back up your ~/.claude somewhere first before you decide to downgrade.
Once you’ve decided the consequences outweigh the risks you can access every previous version of Claude Code via NPM (besides the one with the leaked sourcemaps they had pulled)
Make sure you set the following in your ~/.claude/settings.json in the top level
Otherwise autoUpdate will get you right back to latest without as much as a notification.
Then set your preferred version (I’m trying out 2.1.110 which was released the day before 4.7)
I’ve been working on this post for a few days and woke up to the following gem this morning.
Pinning also might be a good strategy if you want core product flags to keep working between minor releases…
Unfortunately, making these changes may still not bring back the performance we saw in the first half of April. Anthropic controls the model inference and have a lot of power to subtly and not so subtly change the model runtime behavior in all versions of their models. We customers have nothing other than speculation, experimentation, and venting on Reddit to try and understand when this happens.
If the idea of the behavior of a critical tool changing underneath you makes you uncomfortable I’d recommend joining me and the legions of other engineers exploring what is possible with local inference open weight models and opensource harnesses.
No posts

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.