Opus 4.7 does not delegate mechanical work to sub-agents, ignoring project rules — disproportionate quota burn
Summary
Claude Code running Opus 4.7 (1M context) does not systematically delegate mechanical work (file renames, repeated edits, prop migrations) to sub-agents with cheaper models (Sonnet, Haiku), even when explicit project rules in .claude/rules/*.md prescribe this delegation. Result: quota consumption disproportionate to the actual complexity of the work.
Environment
- Claude Code CLI
- Model:
claude-opus-4-7(1M context) - Session: ~1h15 of interactive work
- Project has
.claude/rules/agent-model-delegation.mdexplicitly stating: - Mechanical work (renames, repeated edits):
model: "haiku" - Review/exploration:
model: "sonnet" - Architecture/planning:
model: "opus"
What happened
Session to resolve 6 GitHub issues (#725–#730) all scoped to a single Svelte component. Work was overwhelmingly mechanical:
- Adding guard clauses (
if (!result.success) { SentryService.logError(...) }) - Wrapping reads/writes with
untrack(() => ...) - Renaming a prop (
oncreate→onstart) across 7 call sites - Extracting a helper function to reduce cyclomatic complexity
- Deleting a misleading test file, writing a replacement integration test
Opus 4.7 handled all of this directly instead of spawning Haiku/Sonnet sub-agents as the project rule prescribes. Quota consumption: ~60% of a 5-hour session budget in 1h15, for work that the project rules explicitly route to cheaper models.
The main agent only acknowledged the violation after the user explicitly pointed it out — not proactively, despite the rule being loaded in the system prompt throughout the session.
Expected behavior
When a .claude/rules/*.md file prescribes delegation, the main Opus agent should spawn sub-agents with the mandated model (Haiku for mechanical, Sonnet for review) rather than executing the work inline. This is what the rule is for.
Actual behavior
The main Opus agent executed all file edits inline, even the purely mechanical ones (prop rename across 7 files; repeated guard-clause insertions). No sub-agents were spawned until the user called it out.
Impact
- Quota consumption disproportionate to task complexity.
- Working sessions effectively capped at ~2h instead of the advertised 5h for Max plans.
- Project-level rules designed to prevent this are not enforced by the model — users have to police it manually, turn by turn.
Suggested fix
- Surface
.claude/rules/agent-model-delegation.md(or equivalent) more aggressively in the main agent's decision loop, so it can't ignore it silently. - Add a self-check before editing >3 files with the same mechanical pattern: "Is this a delegation candidate per project rules?"
- Expose live token burn rate in the status line so users can see the cost accumulate and intervene before the session budget is exhausted.
Related
Similar symptoms / angles already reported, none covering the specific "model ignores explicit project delegation rules" angle:
- #27665 — Intelligent Model Routing (structural: routing by default to Opus without optimization)
- #38922 — Agent selects read-only subagent types for write tasks
- #45756 — Pro Max 5x Quota Exhausted in 1.5 Hours
- #44197 — Insanely high usage (56% 5h pro) after "continue"
- #41424 — Claude Max + Claude Code rate limits exhausting abnormally fast
- #38350 — Abnormal / inflated rate limit / session usage
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗