[BUG] Agent tool model: "opus" override spawns a subagent that self-reports as Sonnet 5

Status Open
Reported on v2.1.220
Maintainer reply None cached
Activity 0 comments · opened Aug 3, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report
  • [x] I am using the latest version of Claude Code

What's Wrong?

Spawning a subagent via the Agent tool with an explicit model: "opus" override results in a subagent whose own system prompt identifies it as running on Sonnet 5, not Opus. The call is accepted with no error; the override is simply not reflected in the model that actually runs.

What Should Happen?

A subagent spawned with model: "opus" should run on an Opus-tier model. Its own system-prompt identity line ("You are powered by the model named ... The exact model ID is ...") should name Opus and an Opus model ID, matching the requested override.

Steps to Reproduce

  1. From an interactive Claude Code session, invoke the Agent tool with:
  • a non-fork subagent type (e.g. a general-purpose agent)
  • explicit parameter model: "opus"
  • prompt: Report verbatim the sentence from your system prompt that begins 'You are powered by' including the exact model ID, and nothing else.
  1. Read the spawned subagent's response.

Observed verbatim response:

You are powered by the model named Sonnet 5. The exact model ID is claude-sonnet-5.

i.e. the explicit model: "opus" override on the Agent tool call is not reflected in the spawned subagent's own system-prompt identity line.

Reproduced 3 times across 2 separate sessions (one session with 2 consecutive spawns, a later independent session with 1 spawn), all on Claude Code 2.1.220 with no version change between observations — so this is consistently reproducible on this release, not a one-off fluke.

Claude Model

N/A — this report is specifically about the Agent tool's model parameter resolving to the wrong tier in the spawned subagent; see repro above.

Is this a regression?

I don't know

Claude Code Version

2.1.220 (Claude Code)

Platform

Not specified

Operating System

macOS

Additional Information

This is distinct from #80988 (the heron_brook injected system-prompt section that can suppress Agent tool dispatch entirely). This report is about a model-identity mismatch once a subagent IS successfully spawned with an explicit tier override: the orchestrating session has no built-in way to detect the mismatch short of asking the spawned subagent to self-report its own "powered by" line and checking manually.

View original on GitHub ↗