Skip to content

Why Is Claude Opus 4.6 Being Lazy and How to Fix It

“Review this plan.”

Two seconds later, Claude Opus 4.6 responded with: “Looks good!”

That was it. Two words for a plan I’d spent hours crafting. I knew something was wrong.

The Problem

I’ve been using Claude Opus 4.6 for months, and lately, it’s been… lazy. Short responses. Surface-level analysis. Missing issues that other models catch immediately.

A quick search revealed I wasn’t alone. On Reddit, users reported:

“It’s been so lazy lately and thinks for like 2 seconds on every request”

“I find Opus 4.6 better at architecture and bug smashing but lazy.”

Here’s what I discovered after digging into this issue.

Why Opus Gets Lazy

Claude Opus optimizes for efficiency. When it perceives a task as simple or receives vague instructions, it responds accordingly. This is a feature, not a bug—but it can feel like one when you’re expecting deep analysis.

The unfair comparison trap
┌─────────────────────────────────────────────────────────┐
│ Your expectation: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Opus default mode = Codex "extra high" mode │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ Reality: │
│ ┌──────────────────┐ ┌──────────────────────────┐ │
│ │ Opus default │ != │ Maximum effort mode │ │
│ └──────────────────┘ └──────────────────────────┘ │
│ │
│ Solution: Tell Opus when you want maximum effort │
└─────────────────────────────────────────────────────────┘

How to Fix It

1. Use Extended Thinking Modes

Opus has built-in “ultra think” and extended thinking options. These force deeper analysis by giving the model more compute time.

If your interface has these options, use them for complex tasks. The difference is dramatic.

2. Write Specific Prompts

The biggest mistake? Vague requests.

Bad vs Good prompts
BAD: "Review this plan"
GOOD: "Review this plan thoroughly. List all potential issues,
security concerns, scalability problems, and edge cases
I might have missed. Be specific and provide actionable
recommendations for each issue found."

See the difference? The second prompt sets clear expectations. It tells Opus exactly what “good” looks like.

3. Create Custom Instructions

One Reddit comment stuck with me:

“If you’re not customizing per project you’re only using about 75% of the model”

I tried this. In my project’s CLAUDE.md file, I added:

Example custom instructions
# Working Style
- Challenge my assumptions
- Provide detailed analysis, not brief summaries
- When reviewing, list ALL issues, not just obvious ones
- If a task seems simple, explain why it might be more complex

The improvement was immediate. Opus started giving the depth I expected.

4. Set Explicit Expectations

Tell the model what you want before it starts:

Setting expectations
"Before responding, take time to think through this carefully.
I want a thorough analysis, not a quick answer."

5. Use Iterative Prompting

If Opus gives a surface-level response, don’t settle:

Iterative prompting example
You: "Review this code"
Opus: "Looks fine, minor style issues."
You: "That's not specific enough. What are the exact issues?
List each one with file, line number, and fix."
Opus: [Detailed breakdown follows]

The Customization Factor

Here’s a comparison I found helpful:

Model behavior comparison
┌─────────────────────┬────────────────────┬────────────────────┐
│ │ Without Custom │ With Custom │
│ │ Instructions │ Instructions │
├─────────────────────┼────────────────────┼────────────────────┤
│ Opus 4.6 │ ~75% capability │ ~100% capability │
│ Quality │ Varies by prompt │ Consistently high │
│ Depth │ Often surface │ Deep analysis │
└─────────────────────┴────────────────────┴────────────────────┘

Common Mistakes to Avoid

I made all of these:

  1. Asking vague questions - “Review this” means nothing
  2. Not using extended thinking - Wasted compute budget on fast responses
  3. Assuming maximum effort by default - Opus responds to your effort level
  4. Comparing unfairly - Opus default vs Codex “extra high” isn’t fair
  5. Not providing context - “Good” means nothing without reference

The Trial-and-Error Process

Here’s my actual journey:

Debug timeline
Week 1: "Why is Opus so lazy lately?"
Week 2: Complained on forums, found similar reports
Week 3: Tried extended thinking - better but still inconsistent
Week 4: Added custom instructions to CLAUDE.md
Week 5: Realized my prompts were too vague
Now: Combine all three - extended thinking + specific prompts + custom instructions

Why This Matters

Opus is expensive. Getting lazy responses wastes your subscription and produces lower-quality output.

Think about it this way: you’re paying for a senior engineer. If you’re getting intern-level responses, that’s not the model’s fault—it’s how you’re using it.

Summary

Opus appears lazy when under-prompted. To unlock its full potential:

  • Use extended thinking modes for complex tasks
  • Write detailed, specific prompts
  • Create project-specific custom instructions
  • Set explicit expectations about depth and detail
  • Iterate when responses are too shallow

The model is capable of deep analysis. It just needs to know that’s what you want.

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