Model compliance regression: auto-loaded .claude/rules/ procedures skipped on session start

Resolved 💬 10 comments Opened Apr 6, 2026 by rubrical-worker Closed Jun 5, 2026

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

  1. In a project with .claude/rules/03-session-startup.md defining a multi-step startup sequence (config integrity check, branch sync check, charter validation, domain specialist load, etc., culminating in a "Session Initialized" block).
  2. Open a fresh Claude Code session.
  3. 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.

View original on GitHub ↗

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