Why Is Claude Opus Slow? 5 Proven Fixes to Restore Performance
Why is Claude Opus Slow?
Claude Opus used to be my go-to model. It was the most capable, the smartest, the one I trusted for complex tasks. Then something changed.
Responses got slower. The quality felt more superficial. Tasks that used to take minutes now took longer, and the results weren’t as good. I thought maybe I was imagining it, or that Anthropic had quietly nerfed the model.
I wasn’t alone. On Reddit, I found multiple users reporting the same thing:
"Opus has been performing poorly for a while now""It used to be their most capable model, and now there are many peoplewho find it more superficial""I've noticed a significant slowdown"I spent a week investigating. Here’s what I found and how I fixed it.
Fix #1: Disable Adaptive Thinking
This was the biggest surprise. Claude Opus has a feature called “adaptive thinking” or “adaptive reasoning” that can significantly slow down responses without improving output quality for many tasks.
I tried disabling it with an environment variable:
export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1Or if you’re using Claude Code directly, add it to your shell config:
echo 'export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1' >> ~/.zshrcsource ~/.zshrcThe difference was immediate. Responses were noticeably faster. The quality was the same or better for most coding tasks.
What didn’t work: I initially tried toggling settings in the UI, but the environment variable approach was the only thing that consistently worked.
Fix #2: Manage Context Window Size
Claude Opus now defaults to a 1M token context window. That sounds amazing, but here’s the catch: performance degrades significantly when you exceed 200k tokens.
I didn’t realize my sessions were growing that large. Between long conversations, large code files, and accumulated context, I was regularly hitting 300k+ tokens.
The fix is simple - use the /compact command to reduce context:
/compactThis tells Claude to summarize and compress the conversation context, bringing it back to a manageable size.
I also started monitoring my token usage:
- Run /compact every 50k tokens or so- Start fresh sessions for new features- Don't keep large files in context unless needed- Use /compact before complex reasoning tasksWhat didn’t work: I tried manually asking Claude to “forget” earlier parts of the conversation, but that was inconsistent. The /compact command is the proper tool for this.
Fix #3: Update to Latest Version
This one embarrassed me. I had been running version 0.81 when 0.92 was the latest. The version gap was causing compatibility issues and performance problems.
Check your current version:
claude --versionUpdate to the latest:
npm update -g @anthropic-ai/claude-codeOr if you installed via a different method:
# If installed via Homebrewbrew upgrade claude-code
# If installed via pippip install --upgrade claude-codeAfter updating, I saw a noticeable improvement in both speed and reliability.
What didn’t work: I assumed automatic updates were working. They weren’t. Manual version checks are now part of my weekly routine.
Fix #4: Use the Right Model for the Task
Not every task needs Opus. I was using Opus for everything - simple edits, quick questions, routine refactoring. That’s wasteful and slow.
Here’s the model selection strategy I now use:
Task Type Recommended Model─────────────────────────────────────────────────Simple edits/formatting Haiku 4.5Code review/cleanup Haiku 4.5Documentation updates Haiku 4.5Standard features Sonnet 4.5Debugging Sonnet 4.5Architecture decisions Opus 4.5Complex refactoring Opus 4.5Novel problem solving Opus 4.5Using Haiku for simple tasks made my overall workflow 3x faster. Haiku handles 90% of my daily work with 90% of Sonnet’s capability.
What didn’t work: I tried to force everything through Opus thinking it would give “better” results. For simple tasks, it just added latency without quality improvement.
Fix #5: Monitor and Debug Performance
When Claude feels slow, I now have a systematic way to diagnose:
1. Check token count: Is it over 200k? → If yes, run /compact
2. Check model selection: Is Opus necessary? → If no, switch to Sonnet or Haiku
3. Check version: Am I on latest? → If no, update
4. Check adaptive thinking: Is it enabled? → If yes, verify CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1
5. Check network: Is API latency high? → If yes, wait or try different timeI also started a log to track patterns:
Date Time Task Model Tokens Duration Notes2026-04-09 10:00 Simple refactor Haiku 15k 12s Fast2026-04-09 10:15 Complex debug Sonnet 45k 45s Good2026-04-09 11:00 Architecture Opus 180k 2m Slow, should have compactedThis helped me identify patterns and optimize my workflow.
What didn’t work: I tried various “optimization” settings in config files, but most were placebo effects. The fundamentals (context size, model selection, version) mattered far more.
Summary of Fixes
Problem Fix────────────────────────────────────────────────────────Slow responses Disable adaptive thinking export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1
Context too large Run /compact at 200k+ tokens
Outdated version Update to latest npm update -g @anthropic-ai/claude-code
Wrong model for task Use Haiku for simple tasks Use Sonnet for standard work Use Opus for complex reasoning
Performance issues Follow diagnosis steps aboveAfter applying all five fixes, my Claude Opus experience returned to what it was. The model is still the most capable for complex tasks, but now I use it strategically instead of as a default.
The key insight: Claude Opus isn’t slow because Anthropic nerfed it. It’s slow because we’re using it wrong. Manage your context, pick the right model, keep your tools updated, and disable unnecessary overhead. Performance returns.
Final Words + More Resources
My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me
Here are also the most important links from this article along with some further resources that will help you in this scope:
Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!
Comments