Custom subagent frontmatter model (haiku/sonnet) ignored — 1,149 of 1,371 subagents ran on parent Opus model (2.1.277–2.1.290, intermittent)

Status Open
Reported on v2.1.283
Maintainer reply None cached
Activity 1 comment · opened Oct 6, 2026

Summary

Custom subagents whose definition sets model: haiku or model: sonnet ran on the parent session's model (Opus 5.5) for roughly three weeks. This burned through the weekly usage limit far faster than the configured routing should allow. Nothing in my configuration forces the parent model, as far as I can find.

Environment

  • Claude Code 2.1.283 – 2.1.290 (affected); Linux arm64 (DGX Spark)
  • Main session model: Opus 5.5 (/model); settings.json has "model": "sonnet"
  • Agents defined in ~/.claude/agents/*.md, e.g.:
---
name: scout
model: haiku
effort: low
tools: ["Read", "Grep", "Glob", "Bash", "WebFetch"]
---
  • Spawned via the Agent tool with subagent_type: scout / exec-sonnet, without a model parameter.
  • No CLAUDE_CODE_SUBAGENT_MODEL*, ANTHROPIC_DEFAULT_*_MODEL or ANTHROPIC_MODEL set in any running claude process environment, settings file or shell profile.

Evidence (from local transcripts, ~/.claude/projects/**/subagents/*.jsonl + .meta.json)

The message.model field of the first assistant message of each subagent transcript, grouped by the agentType in its .meta.json:

| Period | agentType (configured model) | Model actually used |
|---|---|---|
| 2026-09-19 → 2026-10-06 | scout (haiku) | Opus (4.8 / 5 / 5.5) in nearly all runs |
| 2026-09-19 → 2026-10-06 | exec-sonnet (sonnet) | Opus in nearly all runs |
| Since 2026-10-05, by CLI version | 2.1.283–2.1.290 | 279 of 301 runs on claude-opus-5-5 |

Price-weighted, about 85% of all subagent usage between 2 and 6 Oct was Opus, although most spawned agents were configured for Sonnet or Haiku.

Recent behaviour (unclear)

  • 2026-10-06 ~21:00: 22 exec-sonnet runs did use claude-sonnet-5-5, still on CLI 2.1.289.
  • 2.1.291 / 2.1.292: test scout spawns ran on claude-haiku-4-5 as configured.

I could not find a matching changelog entry for 2.1.283–2.1.292. The closest are 2.1.284 (Explore + unrecognised model IDs) and 2.1.285 (VS Code label only). So I can't tell whether this was fixed, is intermittent, or was a server-side change.

Expected

A subagent's frontmatter model: is honoured when the Agent tool call does not pass model.

Questions

  1. Is this a known issue, and in which version or on which side was it fixed?
  2. Is there a supported way to verify the effective model of a subagent at spawn time?

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗