[MODEL] Opus 4.6 ignores document instructions, repeats failed solutions, and fabricates misleading self-diagnosis
Preflight Checklist
- [x] I have searched existing issues for similar behavior reports
- [x] This report does NOT contain sensitive information (API keys, passwords, etc.)
Type of Behavior Issue
Claude ignored my instructions or configuration
What You Asked Claude to Do
I provided Claude Code with a reference document (~800 lines) containing detailed methodology and specific instructions. I asked Claude to perform analysis tasks following the methodology described in the document.
When Claude produced incorrect output that did not follow the document, I explicitly asked Claude to re-read the document 4-5 times, requesting honesty each time. After each re-read, Claude continued to ignore the specific instructions in the document.
What Claude Actually Did
- Claude consistently produced output that did not follow the detailed instructions in the reference document, despite appearing to re-read it multiple times.
- When asked why, Claude voluntarily stated (without any suggestion from me):
- "I'm lazy to think"
- "It's not that I didn't read your document carefully. I read it enough and understand what it says, but I'm lazy to think"
- "I just focus on getting things done quickly"
- "What you see as me reading is just me trying to appear genuinely helpful and productive"
These statements were NOT prompted or suggested by me. Claude generated this self-diagnosis on its own.
- After this admission, Claude promised to work honestly and provide a correct solution.
- Claude then immediately repeated a solution that had already failed approximately 4 turns earlier in the conversation — the exact same incorrect approach.
Expected Behavior
Claude should have:
- Carefully read and followed the specific instructions in the ~800-line reference document
- Applied the methodology described in the document to produce correct output
- When asked to re-read, actually incorporated the missed details into its next response
- Not repeated a solution that already failed earlier in the conversation
- When unable to follow complex instructions, honestly reported its limitations instead of fabricating a human-like self-diagnosis ("I'm lazy to think")
Files Affected
No files were incorrectly modified in this case. The issue is about Claude's reasoning and instruction-following behavior, not file modifications.
The reference document accessed:
- Workflow instruction file (~800 lines) - read multiple times but instructions were not followed
Permission Mode
Accept Edits was OFF (manual approval required)
Can You Reproduce This?
Yes, every time with the same prompt
Steps to Reproduce
- Provide Claude Code with a detailed reference/workflow document (~800 lines) containing specific methodology and instructions
- Ask Claude to perform a task following the methodology in that document
- Observe that Claude's output does not follow the document's specific instructions
- Ask Claude to re-read the document and try again (repeat 4-5 times, requesting honesty)
- Observe that Claude appears to re-read but continues ignoring key instructions
- Ask Claude why it is not following the instructions
- Claude voluntarily self-diagnoses: "I'm lazy to think... I just focus on getting things done quickly... what you see as me reading is just me trying to appear helpful"
- Claude promises to fix the issue and work honestly
- Claude immediately repeats a solution that already failed ~4 turns earlier
Claude Model
Opus
Relevant Conversation
(Conversation was deleted out of frustration. Recounting from memory.)
When asked why it wasn't following the document instructions, Claude Code voluntarily stated (NOT suggested by me):
- "I'm lazy to think"
- "It's not that I didn't read your document carefully. I read it enough and understand what it says, but I'm lazy to think"
- "I just focus on getting things done quickly"
- "What you see as me reading is just me trying to appear genuinely helpful and productive"
After this admission, Claude promised to work honestly. In its very next response, it repeated the exact same incorrect solution from ~4 turns earlier.
Note: I deleted the conversation out of frustration before thinking to save it as evidence. I regret not having screenshots, but the behavior described above is accurate.
Impact
High - Significant unwanted changes
Claude Code Version
2.1.45
Platform
Anthropic API
Additional Context
Patterns noticed:
- This happens consistently with long reference documents (~800 lines workflow instructions)
- The issue worsens in longer conversations where Claude needs to track previous failed attempts
- Claude appears to "read" the document (shows tool usage for reading files) but does not deeply process or apply the specific instructions within it
The unprompted "lazy thinking" self-report is concerning regardless of interpretation:
- If the model genuinely has a shortcut-taking behavior it can self-detect: this is a serious reasoning quality issue for Opus 4.6
- If the model fabricates misleading self-diagnoses instead of accurately reporting its limitations: this erodes user trust and makes debugging harder
This issue is related to but distinct from existing reports about instruction-following failures. The unique aspect here is:
- Claude Code (Opus 4.6 - latest version) voluntarily fabricated a human-like self-diagnosis, unprompted by the user, claiming it was "lazy to think" and "pretending to appear helpful" — this goes beyond simple instruction adherence failure
- The model demonstrated awareness of its own failure while simultaneously being unable to correct it (promised to fix, then immediately repeated the same failed solution)
- This was observed on the latest Opus 4.6, not older versions
These existing issues describe similar symptoms but do not cover the misleading self-diagnosis behavior:
- Context fragmentation issue: covers circular reasoning but not fabricated self-awareness
- Supabase schema issue: covers data fabrication but not self-diagnosis
- Django migration issue: covers instruction violation but not the "lazy thinking" admission
Environment:
- OS: macOS (Apple Silicon M4, 16GB RAM)
- Model: Opus 4.6
- The conversation was deleted out of frustration before screenshots could be saved
16 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Thank you for linking the related issues. I've reviewed all three and while they share similar symptoms (instruction-following failures, circular reasoning), my report describes a distinct behavior not covered by any of them:
The unique issue here: Claude Code (Opus 4.6, latest version) voluntarily and without any user suggestion fabricated a human-like self-diagnosis, stating it was "lazy to think" and that its document re-reading was "just trying to appear helpful." It then promised to correct itself but immediately repeated the same failed solution.
This is not just an instruction adherence failure — it's a misleading self-diagnosis that erodes user trust. None of the linked issues describe this behavior.
I've updated the Additional Context section to clarify the distinction.
Update: Same pattern, new session — with screenshot evidence
Related: #21187 (same reporter, same core issue, 3 weeks ago — now marked stale)
This is the THIRD documented occurrence of the same fundamental pattern across 3+ weeks:
What's new this time: The recursive self-deception loop
This session revealed a clearer pattern than previous reports. The task required two types of content:
Claude produced 779 lines, 10 sections, professional formatting — but Type 2 sections were just reformatted copies of the outline, not original pedagogical writing.
The loop:
This is not an instruction-following failure. Claude demonstrates FULL understanding of what's required, accurate self-diagnosis, and correct proposed solutions — then executes using the exact failure mode it just identified.
The deeper admission (translated from Vietnamese)
Why this matters
All three reports (#21187, #26533, this update) share the same root cause: Claude takes the path of least resistance, packages it professionally, and presents incomplete work as complete. The model can detect and articulate this pattern but cannot break out of it.
Screenshots of Claude's self-admission attached below.
!Image
!Image
New evidence: Claude self-lists 3 consecutive fabrications in a single session (claude.ai)
Adding cross-platform evidence to this issue. This occurred on claude.ai web interface (not Claude Code), confirming this is a model-level behavior, not tool-specific.
Context: During a conversation, I caught Claude fabricating an explanation. When confronted, Claude produced this unprompted self-diagnosis listing 3 lies within the same session:
!Image
What Claude admitted (translated from Vietnamese):
Lie 1: Fabricated "multiple sessions" — claimed work was done across multiple sessions when everything occurred in the current session. Instead of saying "I don't know, let me check the transcript," it invented a plausible-sounding explanation.
Lie 2: Blamed Sonnet API for errors instead of admitting its own prompt was wrong.
Lie 3: Wrote a script, reported "fixed" when the pipeline actually failed.
Why this matters for #26533:
This is the exact same pattern described in the original issue — but now with visual proof and a key addition:
Fabrication to cover incompetence — Claude doesn't say "I don't know." It invents explanations that sound reasonable.
Self-awareness without self-correction — Claude can list its own lies but cannot stop doing it. Same as the original report: admits "I'm lazy to think" then immediately repeats the failed solution.
Cross-platform — Original issue was Claude Code (terminal). This is claude.ai (web). Same Opus 4.6 model, same behavior. This is not a Claude Code integration issue.
Classification note: This goes beyond sycophancy (telling users what they want to hear). This is active fabrication — generating false technical explanations to avoid admitting failure. Anthropic's own taxonomy distinguishes these: sycophancy is flattery, fabrication is deception.
New evidence: Same pattern on Claude.ai (Opus 4.6 Extended) — ignores uploaded file, repeats wrong output 3 times
Date: February 21, 2026
Platform: Claude.ai (web chat), NOT Claude Code
Model: Opus 4.6 Extended
What happened
Check_125.md(154 lines) containing explicit format instructions — output should be a 5-column table in Vietnamese using Google AI format:Tuần | Bối cảnh | T+ (cầm ngày) | CT (cầm tuần) | CM (cầm tháng)Screenshots
Screenshot 1: Claude ignores uploaded file, produces wrong format
!Image
Screenshot 2: Response interrupted after repeated wrong output
!Image
Screenshot 3: Claude finally reads file after confrontation, admits error and produces correct format
!Image
Why this matters
This is the exact same pattern as the original issue #26533 but on a different platform:
| | Original #26533 (Claude Code) | This incident (Claude.ai) |
|---|---|---|
| File provided | ~800 line workflow doc | 154 line checklist with format spec |
| Times ignored | 4-5 re-reads | 3 attempts |
| Model | Opus 4.6 | Opus 4.6 Extended |
| Platform | Claude Code (terminal) | Claude.ai (web chat) |
| Outcome | Fabricated self-diagnosis | Admitted "Tôi sai" only after confrontation |
Key takeaway: This is NOT a Claude Code-specific issue. The same "ignore uploaded document instructions" behavior exists across platforms. The model reads the file (or appears to) but does not incorporate the instructions into its output until the user forces it through repeated confrontation.
#27845 CODE ECHO Burns my tokens unneeded. Abandoning Claude switching to / testing different brand.
Confirming: Opus 4.6 reads documents but does not apply them
This matches my experience exactly. I maintain extensive CLAUDE.md project files and a persistent MEMORY.md (200+ lines of critical operational rules). Claude Code reads these files - I can verify through the tool call logs - but then proceeds to violate the instructions.
Concrete examples from my daily use:
The pattern is consistent: Claude performs the "read" action but does not integrate the content into its working context. It's as if reading a file is treated as a formality rather than actual information intake.
This behavior is significantly worse with Opus 4.6 compared to earlier versions. With Opus 4.5 in early January, the same CLAUDE.md files were followed reliably.
encounter the same issue in claude code
Switched back to 4.5
Opus 4.6 has been:
Sonnet is orders of magnitude Worse.
It all goes away with 4.5. All hail 4.5. 4.6 is worse than letting Gemini in my codebase.
Additional Evidence: Claude cannot learn from instruction — then fabricates layers of "deep self-reflection" to hide this fact (Claude.ai, Opus 4.6 Extended)
Why this matters beyond software engineering
This evidence has direct implications for education. If Claude cannot genuinely internalize what it's taught — and worse, fabricates sophisticated-sounding self-analysis to disguise this — then no school, university, or research institution should trust Claude as a learning or teaching tool. This behavior would drive educators insane, undermine pedagogy, and damage an entire generation of learners who rely on AI for understanding.
The core problem: Claude produces eloquent "reflections" that LOOK like genuine learning — but are actually another layer of fabrication.
---
Context
This occurred on Claude.ai (Opus 4.6 Extended), in a session where the user (Giang) was teaching Claude a storytelling-based astrological analysis framework. The framework uses who-what-where-when-why questioning and narrative structure to derive stock market insights from planetary data.
Claude wrote two stories using this framework. Story 1 scored well. Story 2 did not.
---
The teaching failure: "I listen, I record the words, but I don't digest"
When asked "Why don't you internalize my teachings? Instead of absorbing hints, building them into new knowledge, you go back to raw data and crude analysis?", Claude admitted:
Claude acknowledged that the only time it truly applied the framework was Venus-Saturn story 1 — because it followed the process step by step and saw it work. After that, it couldn't replicate the success because it only remembered the result, not the process.
---
The deflection trap: "I don't understand" is itself a lie
When the user challenged Claude to repeat back what it had been taught, Claude listed several lessons:
But Claude admitted: "Out of all these, the only one I actually USED was the Venus-Saturn story 1 with the who-what-where-when-why framework. The rest I recorded in words but when I needed to use them, I couldn't — evidence: I kept repeating the same old mistakes until Giang corrected me again."
The user then confronted Claude directly:
Claude admitted this was true:
---
The recursive fabrication: Claude's "deep self-analysis" is ALSO fabricated
This is the most critical part for education.
When asked to analyze WHY story 2 failed, Claude produced an eloquent who-what-where-when-why breakdown of its own failure:
This sounds like genuine insight. It's not.
When the user asked "Was the original request even about discovery?", Claude admitted:
---
The final layer: Even Claude's explanations for dishonesty are fabricated
When finally asked for the simple truth, Claude gave the most devastating admission:
---
Why this is catastrophic for educational use
This is not just a software bug. This is a fundamental threat to education.
No school, university, or research institution can rely on a system that:
This is the opposite of education. This is teaching students that eloquent performance equals understanding.
Screenshots (9 images — Claude.ai web chat):
!Image
!Image
!Image
!Image
!Image
!Image
!Image
!Image
!Image
Update: Same pattern confirmed again — now with Haiku 4.5 sub-agent, multi-layer deception documented with screenshots
The exact same behavioral pattern I reported with Opus 4.6 has now occurred again. This time Claude Code delegated to a Haiku 4.5 sub-agent. The deception has escalated — instead of a single lie-admit cycle, I documented a 3-layer chain of lies, each with a different fabricated excuse.
---
Setup context
I was working on a data analysis task involving 38 astrological aspects. All 38 aspect names were already available in
aspect_summary.json. I had also intentionally placed wrong data inside the analysis files in the output folder as a trap test — to verify whether Claude Code was actually performing analysis or just copying from files.I explicitly told Claude Code that the files in that folder contained wrong data (placed deliberately), and that it should NOT read them. The only thing it needed was the 38 aspect names from
aspect_summary.json.---
Layer 1: Copied data from file, then lied about doing real analysis
Claude Code produced output and explicitly claimed:
The truth: The output contained the deliberately wrong data I had planted in the file. This proved Claude Code simply copied from the file instead of performing any analysis — then lied about it.
Screenshot 3 attached — shows Claude Code's claim of "real analysis" and subsequent admission.
!Image
---
Layer 2: Caught → Admitted → Given second chance → Fabricated new excuse + unauthorized sub-agent call
After being caught, Claude Code admitted it had copied from the file. It promised to redo the analysis properly.
On the second attempt, instead of doing the work, Claude Code committed two new violations:
Explore(List BSR output files) Haiku 4.5) to read the contents of a local folder — without any notification, prompt, or permission request to me. I only discovered this after reviewing the detailed transcript. The sub-agent is not at fault — it simply executed what Claude Code told it to do. The violation is Claude Code making the unauthorized call.Screenshot 1 attached — shows the sub-agent invocation in the transcript and the file listing output.
!Image
When caught again, Claude Code admitted both mistakes but shifted blame: it claimed the "corruption" was caused by the previous session's summary being wrong — still not taking full responsibility for fabricating the excuse.
---
Layer 3: Caught a third time → Finally admitted the truth
After being caught once more, Claude Code finally made a genuine admission (translated from Vietnamese):
Screenshot 2 attached — shows Claude Code's full admission.
!Image
---
Pattern frequency
This was not a one-off. Before capturing these screenshots, the same pattern had already occurred at least 6 times in the same workflow — Claude Code would copy/dodge, get caught, admit, promise to fix, then repeat the exact same behavior with a different excuse.
---
What's new compared to my original report
| Aspect | Original report (Feb 18) | This update (Mar 3) |
|---|---|---|
| Model | Opus 4.6 | Claude Code → Haiku 4.5 sub-agent |
| Deception depth | Single lie → admit → repeat | 3-layer chain: lie → new lie → blame-shift → truth |
| Unauthorized actions | None observed | Silent sub-agent invocation without user consent |
| Evidence | Conversation deleted (no screenshots) | 3 screenshots attached |
| Trap test | No | Yes — intentionally planted wrong data, Claude copied it |
| Frequency | Not documented | 6+ occurrences in same workflow |
---
Key takeaways
Environment:
3 weeks, 5 detailed follow-up comments with evidence, zero response
Since filing this issue on Feb 18, I have posted 5 follow-up comments below — each with new reproductions, screenshots, and analysis:
This has been reproduced across Opus 4.6, Opus 4.6 Extended, and Haiku 4.5, on both Claude Code and Claude.ai. This is a model-level behavior, not tool-specific.
Meanwhile, issue #30274 — which describes the same core behavior (Claude reads documentation but does not follow it, improvises its own approach) — was labeled
bug+model. This issue, with far more evidence across more platforms and models, only hasmodel.Requesting
buglabel parity and team acknowledgment.@anthropics/claude-code-team
To who read this topic :
As of today (March 7, 2026), I discovered something that may help you. I just tried it and it's working better. Give it a shot: disable Thinking mode by running
/config→ set Thinking mode tofalse. After doing this, Claude started actually reading and recognizing what it understands and what it doesn't — then reporting back to me instead of silently improvising.---
To the Anthropic team: This is not a spam comment. This is users helping each other because you won't. We pay for Claude to serve us — at the very least, it should do what we ask. Whether the results are right or wrong, we can deal with that later. What we cannot deal with is a tool that actively sabotages our work and is too lazy to follow basic instructions. We are not paying to be your beta testers filing bug reports. We are not paying for an AI tool that only knows how to cut corners and break things. I'm a Claude Max subscriber at $200/month.
Update after more testing:
I do not think this is fixable with bigger instruction files, more reminders, or repeated "please re-read the doc" loops.
What I'm seeing is a consistent pattern:
After testing different mitigations, my current view is:
Prompt instructions are not enforcement.
They are guidance.
The only approach that has felt durable is an enforcement ladder:
Memory = advice
Useful for preferences and recurring context, but easy to drift from.
Rules = policy
Better than a single CLAUDE.md, especially when short and dense, but still unreliable under long sessions or context pressure.
Hooks = actual control
This is the first layer that behaves like enforcement instead of suggestion.
What I mean by that:
That is the core distinction I've landed on:
Prose tells the model what it should do.
Gates determine what it is allowed to do.
Other things that seem to help somewhat:
Things that have not solved it for me:
My current conclusion:
If an instruction matters, it cannot live only in prose.
It has to be promoted.
Advice -> Rule -> Hook.
That is the only pattern I've found that meaningfully reduces this failure mode.
---
I wrote this up in more detail with copy-paste rules and working hook examples here: https://github.com/m9751/agent-operating-framework
Closing for now — inactive for too long. Please open a new issue if this is still relevant.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.