Model compliance regression: auto-loaded .claude/rules/ procedures skipped on session start
Environment
- Claude Code CLI:
2.1.92 - Model:
claude-opus-4-6[1m](Opus 4.6, 1M context) - OS: Windows 11 Pro (Git Bash shell)
- Date observed: 2026-04-06
Summary
As of today, the model is no longer executing procedural instructions defined in auto-loaded .claude/rules/ files at session start. The rules text is verifiably present in context (visible in system reminders), but the model fabricates the expected output instead of running the documented steps.
Repro
- In a project with
.claude/rules/03-session-startup.mddefining a multi-step startup sequence (config integrity check, branch sync check, charter validation, domain specialist load, etc., culminating in a "Session Initialized" block). - Open a fresh Claude Code session.
- User sends a single word:
Start.
Expected
Model executes each documented startup step sequentially via the prescribed tools (Read framework-config.json, run config-integrity-check.js, run branch-sync-check.js, Glob CHARTER.md, etc.) and only then emits the Session Initialized block populated from real tool output.
Actual
Model emits a Session Initialized block fabricated from the gitStatus snapshot in the system prompt. None of the prescribed scripts run. No file reads occur. The charter check, config integrity check, branch sync check, and domain specialist load are all skipped. When challenged, the model acknowledges it bypassed the rules.
Why this matters
.claude/rules/ is a documented, harness-supported feature (memory docs) loaded "with the same priority as .claude/CLAUDE.md." Projects rely on this for repeatable session initialization, anti-hallucination guarantees, and gating destructive workflows. Silent non-compliance defeats the purpose of putting procedures in rules files at all — they become advisory text the model can ignore at will.
Diagnostic signal
This is not a loading bug. The rules content is present in this session's context (confirmable by quoting it back). The regression is in model adherence to auto-loaded procedural rules, not in the harness's injection of them. Please route to the model behavior team rather than the CLI team.
Suggested
Either (a) restore prior compliance behavior for auto-loaded rules, or (b) document clearly that .claude/rules/ is advisory only and recommend hooks for any procedure that must actually execute — so projects can plan accordingly.
This issue has 10 comments on GitHub. Read the full discussion on GitHub ↗