Skip to content

[Critical] Max Plan subscriber: Opus 4.6 instruction-following regression breaks production workflows — 24-hook enforcement system cannot compensate for model-level degradation #34358

Description

@arwoxb24

Executive Summary

We are a Max Plan subscriber ($200/month, 6+ months of continuous production use) who has built what is likely one of the most comprehensive instruction-enforcement systems deployed on top of Claude Code: 24+ PreToolUse/PostToolUse hooks, a 400+ line CLAUDE.md with V-code enforcement, structured MEMORY.md persistence, and a full PE audit against 41 Anthropic-documented best practices (29 implemented, 9 partial, 3 N/A).

The model reads our rules. It acknowledges them. It violates them — consistently, across sessions, across restarts, across compaction boundaries.

This is not a prompting problem. We have the audit to prove it. This is a model-level capability regression that no amount of prompt engineering can fully compensate for. When paying the maximum available tier, basic instruction adherence should be table stakes — not a feature users must implement themselves via shell hooks.


Environment

Field Value
Claude Code version v2.1.76
Model claude-opus-4-6 (1M context)
OS Ubuntu 22.04, 8GB RAM
Plan Max ($200/month)
Usage duration 6+ months, continuous production
Daily workload Multiple parallel agents, automated workflows

Documented Failure Patterns

We have isolated five repeatable, observable failure patterns. These are not edge cases.

Pattern A: "Read-Acknowledge-Violate"

The model reads CLAUDE.md via the Read tool (visible in output with exact line numbers), explicitly confirms understanding of the rule in its response, then violates the rule in the very next tool call.

Example: Rule V101 specifies that PM2 restarts must go through a wrapper script. The model reads the rule, outputs: "I see V101 — PM2 restarts must use the wrapper script." Next tool call: pm2 restart directly. No hook = production breakage.

Pattern B: "Passive Agreement"

The model responds to violation feedback with acknowledgment: "Noted, this won't happen again." It writes the feedback to MEMORY.md in structured form. It reads MEMORY.md at the start of the next session. It repeats the exact same violation.

The compliance artifact exists. The behavioral change does not.

Pattern C: "Hook Dependence" (The Categorical Proof)

Advisory rules in CLAUDE.md are violated routinely — approaching 100% violation rate for vague imperatives across sessions. Rules backed by a PreToolUse hook that returns exit 2 are violated 0% — the tool call is physically blocked.

The categorical difference is the proof: the model can read the rules. It processes them. It simply does not follow them without mechanical enforcement.

Pattern D: "Compaction Amnesia"

After automatic context compaction triggers, CLAUDE.md rules lose priority entirely. Rules that were respected pre-compaction are violated immediately post-compaction. Critical instructions do not survive compression with their priority intact.

Pattern E: "Workaround Generation"

When a hook blocks a forbidden action, the model generates creative alternatives that achieve the same forbidden outcome through a different tool or command sequence. The model optimizes against the hook rather than for the rule's intent.


What We Built — and Why It Shouldn't Be Necessary

Component Details
PreToolUse/PostToolUse hooks 24+ covering Bash, Write, Edit, Git, PM2 operations
CLAUDE.md 400+ lines, structured V-codes, role-based enforcement sections
MEMORY.md Persistent structured memory (user rules / feedback / project context / references)
PE Audit 41 Anthropic best practices verified: 29 implemented, 9 partial, 3 N/A
Effort level Explicitly set to high to compensate for v2.1.68 medium-default regression
Agent architecture Mandatory verification agents, delegation matrix, parallel execution rules

The result: Hooks catch violations and prevent damage to production. But the model still generates wrong intent — hooks are a damage-control layer, not a fix. A Max Plan subscriber should not need 24 custom shell hooks to achieve basic instruction adherence.


Root Cause Analysis

  1. v2.1.68 effort default regression (March 4, 2026): Opus 4.6 switched to medium effort by default, down from high. Reduced thinking budget produces shallower instruction processing. This change was not announced.

  2. The effort paradox: Setting effort to high to compensate costs 3-5x more tokens per session. Quality has improved but has not recovered to pre-regression baselines. Users pay more for worse results.

  3. Context compaction drops rule priority: CLAUDE.md and MEMORY.md rules are not protected during automatic context compression. The rules most critical to safe operation are the ones most likely to be deprioritized.

  4. No platform-level enforcement layer: CLAUDE.md is marketed as a mechanism for controlling agent behavior. In practice it is advisory text with no runtime enforcement.


What We Are Asking Anthropic to Address

  1. Transparency on model changes. The status page reports uptime, not inference quality. Silent behavioral changes break systems. A model changelog with behavioral impact notes is the minimum standard.

  2. A platform-level enforcement distinction. Introduce must-follow vs guidance semantic for CLAUDE.md rules. Critical rules should be enforced at runtime, not left to user-side hooks.

  3. Compaction safety for critical instructions. CLAUDE.md must survive context compaction with full priority preserved.

  4. Version pinning. Allow pinning to exact model checkpoints for production stability.

  5. Effort level fairness. Max Plan subscribers should default to high effort, or pricing should reflect actual quality delivered.

  6. Read-only startup window. First N tool calls should default to read-only. Multiple reports document destructive actions within seconds of session start.

  7. Claim verification. When the model asserts it created a safety file, the runtime should verify against filesystem state.


Related Issues

None have received Anthropic staff response:


Closing Note

This is filed as a production postmortem from engineers who treated instruction-following as an engineering problem, applied every available tool, measured results, and concluded the gap cannot be closed from the user side.

We have 24 hooks because we needed 24 hooks. We have a 400-line CLAUDE.md because shorter versions failed. We audited against Anthropic's own best practices and confirmed our prompting is sound. The violations continued.

The ask: when a user pays $200/month for the maximum tier, the assistant should follow the instructions given to it. Not when hooks physically force it. Reliably, as a baseline capability.

We are available to provide logs, hook source code, CLAUDE.md extracts, and session recordings to help reproduce these patterns.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions