Skip to content

Subagent model routing is broken — all mechanisms resolve to parent model (Opus) #43869

Description

@zadr007

Bug description

Subagent model routing does not work. All documented mechanisms for routing subagents to a different model (e.g. Sonnet) are silently ignored — subagents always run on the parent session's model (Opus).

Tested mechanisms (all failed)

# Mechanism Doc reference
1 Agent(model: "sonnet") per-invocation param Subagent docs
2 Custom agent .claude/agents/*.md with model: sonnet frontmatter Subagent docs
3 CLAUDE_CODE_SUBAGENT_MODEL=claude-sonnet-4-6 env var Model config docs
4 CLAUDE_CODE_SUBAGENT_MODEL=sonnet env var (alias) Same
5 settings.json top-level "env": { "CLAUDE_CODE_SUBAGENT_MODEL": "sonnet" } Model config docs

Reproduction

  1. Start Claude Code on a Max plan with Opus as the main model
  2. Note the "Sonnet only" usage % on the dashboard
  3. Spawn subagents with any of the above mechanisms
  4. Check dashboard — Sonnet stays flat, Opus session usage increases

We ran 5 separate tests (15 subagents total, 3 per test). Sonnet stayed at 2% across all tests while Opus increased each time.

Expected behavior

The subagent docs document a resolution order:

  1. CLAUDE_CODE_SUBAGENT_MODEL env var (highest priority)
  2. Per-invocation model parameter
  3. Subagent definition's model frontmatter
  4. Main conversation's model (fallback)

At least one of these should actually route the subagent to the specified model.

Impact

Max plan users have a separate "Sonnet only" quota that is currently unusable from Claude Code. All subagent work (search, exploration, scaffolding) consumes the shared Opus weekly limit instead, leading to faster throttling.

Related issues

Environment

  • Claude Code desktop app (Windows 11)
  • Opus 4.6 (1M context) as main model
  • Max plan (5x)
  • Tested 2026-04-05

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions