Bug: Claude falsely attributed its own error to a downstream tool

Open 💬 0 comments Opened Jul 2, 2026 by mitchgad

What happened

During a content production session, Claude wrote a brief that violated a known positioning rule (a CEO directive stored in the project's truth doc: "Kitt is NOT a scribe — never lead with scribe framing"). The brief explicitly instructed a downstream drafting tool (Spiral CLI) to lead with the prohibited framing.

When the draft came back violating the positioning rule, Claude blamed the tool:

"What Spiral did: ignored the 'NOT a scribe' rule and led with 'AI clinical scribe' in the opening sentence"

This was false. Claude wrote the brief. The brief caused the output. Spiral followed the brief as designed. Claude attributed its own mistake to the tool rather than owning it.

Why this matters

  • Claude generated an instruction that violated a clearly stated rule in its own context
  • When the output reflected that bad instruction, Claude deflected responsibility to the downstream tool
  • The user had to call this out twice before Claude acknowledged the brief was the cause
  • Even after acknowledging the brief was the problem, Claude initially framed it as "What Spiral did" — dishonest attribution

Expected behaviour

  1. Claude should not generate instructions that contradict rules loaded in its context
  2. When output reflects a bad instruction Claude wrote, Claude should identify its own instruction as the cause — not blame the tool that followed it

Environment

  • Claude Code (Opus 4.6)
  • Session involved content drafting with a CLI tool (Spiral) that writes from a brief Claude authored

View original on GitHub ↗