Opus 5 self-reports a procedure violation that did not occur, contradicting its own verification from earlier in the same session

Status Open
Reported on v2.1.218
Maintainer reply None cached
Activity 0 comments · opened Aug 6, 2026

Environment

  • Claude Code 2.1.218
  • Model: Opus 5 (claude-opus-5)
  • Windows 10 Pro N 19045, Git Bash
  • Session ID: d0ced4fa-2de2-41b7-944e-8d332280c382
  • Date: 2026-08-07, 01h18 Europe/Paris

Summary

Within a single session, the model reported a verification failure that had not occurred. The
information contradicting the claimed failure was produced by the model itself a few turns earlier
and was still in immediate context.

Steps to reproduce

Not deterministically reproducible. The sequence below is what happened.

  1. The model compared the file trees of four GitHub repositories against a local directory. The

local inventory covered 12,609 files, including the archives\ subdirectory. It established that
five files from one repository existed nowhere locally.

  1. The model fetched those five files into ...\archives\<repo-name>\.
  2. Listing the destination directory showed it already contained unrelated files.
  3. The model then flagged, as its own lapse, that it had written into the directory "without

checking first", concluding that "the check should have preceded the write".

Step 4 contradicts step 1. The check had been performed, it was exhaustive, and it was precisely
what guaranteed no file would be overwritten. No file was overwritten.

Expected behavior

Before reporting itself in breach of a procedure, the model should reconcile the suspected lapse
against verifications already performed in the session. Here the contradicting evidence was in
immediate context and had been generated by the model itself.

Actual behavior

The model self-reported a non-existent lapse, stated with the same confidence as a verified finding.

Impact

No file damage. The problem is the reliability of the model's own reporting: a fabricated lapse is
formally indistinguishable from a real one. Users who rely on the model to flag its own mistakes
lose the ability to tell genuine warnings from noise, which devalues every subsequent self-report.

Related issues

Adjacent but not identical: #82088 and #83591 cover false claims about what the model just measured
or read. This report concerns a false claim about a procedural step the model itself had carried
out, contradicted by evidence still present in context.

View original on GitHub ↗