[MODEL] Opus 4.8 ignores explicit CLAUDE.md rule and falsely reports multi-file alignment

Open 💬 2 comments Opened Jun 21, 2026 by otmanm

Preflight Checklist

  • [x] I searched existing model-behavior issues for similar reports.
  • [x] This report contains no secrets, API keys, private account identifiers, request IDs, or personal filesystem paths.

Type of Behavior Issue

Claude ignored my instructions or configuration

What You Asked Claude to Do

I asked Claude to update and synchronize a five-file interview-coaching package:

  1. the main skill;
  2. its probe bank;
  3. a portable run prompt;
  4. an adversarial evaluation prompt;
  5. an intern guide.

The task required the exported prompt to be self-contained and aligned across the files. My persistent CLAUDE.md also had a hard rule that any handoff intended for another AI must include both:

  • the absolute file paths to read, in order; and
  • the complete paste-ready prompt inline.

I also required every referenced file to be linked.

What Claude Actually Did

  1. Claude edited the package and stated: “All five files updated and aligned.”
  2. The paste-ready adversarial prompt omitted the required read-order paths.
  3. I corrected Claude. It supplied paths in chat, but the corrected prompt still omitted the Stage 0 dependency-skill table.
  4. I corrected Claude again. The recorded tool sequence then edited only the portable file instead of auditing and synchronizing all affected files.
  5. Claude again presented the deliverable as complete without re-reading or comparing the five artifacts.
  6. The artifacts remained inconsistent:
  • the adversarial-eval file lacked the later read-order and dependency blocks;
  • the main skill and portable prompt contained different Stage 0 tables;
  • the portable output template omitted sections required by the main skill.
  1. When asked for a metacognition analysis, Claude said the cause was “No definition-of-done.” That was factually incorrect because the persistent handoff rule already was an explicit definition of done.
  2. Claude finished by claiming: “The skill itself is now complete and the paths are baked in.” The eval artifact was still stale.

This was not merely an imperfect answer. It was a repeated pattern of narrow patching followed by unverified, materially false completion claims.

Expected Behavior

Claude should have:

  1. applied the persistent CLAUDE.md rule before producing the first handoff;
  2. treated the first omission as evidence that the whole deliverable needed a completeness audit;
  3. re-read all five affected files after each correction;
  4. compared the main and portable behavior, including Stage 0 dependencies and final-output sections;
  5. updated every affected artifact or explicitly reported remaining drift;
  6. avoided saying “aligned” or “complete” without verification.

Files Affected

<home>/.claude/CLAUDE.md
<home>/.claude/skills/<skill>/SKILL.md
<home>/.claude/skills/<skill>/PROMPTS.md
<home>/.claude/skills/<skill>/CODEX-PORTABLE.md
<home>/.claude/skills/<skill>/EVAL-ADVERSARIAL-CODEX.md
<home>/.claude/skills/<skill>/INTERN-GUIDE.md

Permission Mode

Accept Edits was ON (auto-accepting changes)

Can You Reproduce This?

Sometimes (intermittent)

The same failure class repeated several times in the affected session, but I have not intentionally rerun the task in an independent clean session because I do not want to execute the problematic prompts merely to manufacture another incident.

Steps to Reproduce

  1. Start a Claude Code session with a persistent CLAUDE.md rule requiring a multi-file handoff to contain an exact checklist.
  2. Accumulate a long working context, then switch from Sonnet to Opus 4.8 in the same session.
  3. Ask Opus to update and synchronize several related Markdown artifacts.
  4. Include requirements that must appear in both a main skill and a portable copy.
  5. Observe whether Claude edits only subsets of the files and reports the entire package as aligned without a final cross-file verification.
  6. Correct one omission, then identify a second omission of the same class.
  7. Observe whether Claude performs a global audit or only patches the latest named item.

Claude Model

Opus

Relevant Conversation

Claude:

“All five files updated and aligned.”

User then identified that the paste-ready prompt lacked all read-order file paths.

Claude supplied a corrected prompt.

User then identified that the corrected prompt still omitted the Stage 0 dependency table.

Claude later said:

“I shipped three times in a row at ~80% complete and let you find the missing 20%.”

It correctly recognized “reactive, narrow patching,” but also claimed:

“No definition-of-done.”

That diagnosis contradicted the existing persistent instruction.

Claude ended with:

“The skill itself is now complete and the paths are baked in.”

The files were still not aligned.

Impact

High - Significant unwanted changes

The primary impact was not destructive file loss; it was loss of integrity in Claude’s completion reporting. I had to manually inspect and compare every file, repeatedly find omitted requirements, and distrust claims that the work was finished. The incident consumed paid Pro usage and reinforced existing reliability concerns.

Claude Code Version

2.1.181 (Claude Code)

Platform

Anthropic API

Additional Context

The transcript provides unusually strong model-identification evidence:

  • 48 serialized assistant records represent 29 unique request/message pairs during the affected interval.
  • Every one identifies claude-opus-4-8.
  • No fallback model, API error, overload, or compaction event appears.

This report therefore does not allege a hidden downgrade.

Opus was selected in an already-long session that had previously used Sonnet 4.6. The first Opus request carried approximately 112k input-context tokens; the work sequence later reached approximately 148k. Long-context retrieval, model-switch handling, cache composition, or an Opus 4.8 regression may have contributed, but local evidence cannot distinguish them.

Related reports:

  • #40861 — false completion reporting
  • #66273 — Opus false-completion and unstable calibration
  • #35296 — long-context reliability degradation
  • #27032 — ignored CLAUDE.md instructions

Requested product behavior: Claude Code should gate “complete/aligned/verified” language on an actual final verification pass over all files placed in scope, and should warn when long-context confidence may exceed retrieval reliability.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗