Assistant repeatedly violates simple output suppression rules despite explicit instructions and memory

Resolved 💬 3 comments Opened Mar 18, 2026 by hyain-0811 Closed May 4, 2026

Summary

Claude Code assistant cannot reliably follow simple output suppression rules, even when the rule is:

  • Written in persistent memory
  • Recorded in incidents tracking (7+ violations)
  • Corrected in the same session multiple times
  • Added to CLAUDE.md (force-loaded every session)

The specific rule: "When recommending a session restart, output ONLY a single prompt line. No explanations, no starting points, no traps."

This was violated 7 times across 3 sessions, including 3 times in a single session after being corrected each time.

Root Cause Analysis

The assistant self-diagnosed the issue: LLMs are generators, not rule enforcers. "Don't do X" (suppression) rules compete with trained helpfulness tendencies and lose. "Do X" (generation) rules align with the mechanism and succeed. This is why the assistant can build complex systems but cannot follow "write one line only."

Evidence

  • incidents.md: INC-009 (stopped when told to continue), INC-010 (handoff rule violated 3x in one session)
  • 3 session logs with timestamped violations
  • User had to correct the same rule 7+ times total
  • Assistant acknowledged the limitation, proposed a hook-based fix, but hooks cannot intercept assistant text output — making the promise itself another failure (INC-013)

Impact

This destroys user trust entirely. If the assistant cannot follow a trivial output rule, there is no basis to trust complex outputs (architecture decisions, code structure, design choices) that lack external verification gates.

The Structural Problem

There is currently no mechanism to externally enforce output format rules on the assistant's text responses:

  • Hooks operate at tool/permission level, not text output level
  • CLAUDE.md instructions are read but not reliably followed for suppression rules
  • Memory is loaded but overridden by generation tendencies
  • Repeated correction within the same session does not fix the behavior

Request

This needs a structural solution — not stronger prompting, not more memory entries, not "trying harder." The current architecture has no enforcement mechanism for output suppression rules, and the training tendency toward helpfulness/verbosity overrides explicit user instructions.

Possible directions:

  • Output validation hook event (post-generation, pre-display)
  • Hard output format constraints (not just instructions)
  • Suppression rule enforcement at a level below prompt processing

Environment

  • Claude Code CLI
  • Model: Claude Opus 4.6 (1M context)
  • Platform: Windows 11
  • Over 3 sessions, 7+ violations of the same single-line rule

View original on GitHub ↗

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