[BUG] The dispatching model has no reliable mechanism to enforce subagent model selection via prompt text

Resolved 💬 4 comments Opened Mar 14, 2026 by Dchenhui Closed Apr 13, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Today I used claude Opus 4.6 to give me a subagent dispatching prompt, so I can use sonnet to dispatch repetitive work to Haiku(much lower cost), and claude code just completely ignored the model selection, as a result, rather than using Haiku subagent, I actually used Sonnet subagent, making the bill skyhigh, this is completely a design failure, and I ask for a full refund of my burnt credit.

  • Agent tool model: "haiku" parameter specified in prompt was ignored by Sonnet

dispatcher

  • All subagents ran as Sonnet instead of Haiku — 10x cost ($20 vs ~$2

estimated)

  • The dispatching model has no reliable mechanism to enforce subagent model

selection via prompt text

  • This is a design gap: the model parameter only works when the calling code

sets it directly, not when instructed via natural language

What Should Happen?

Expected: Sonnet reads prompt saying model: "haiku", sets Agent tool's model
param to "haiku"

Error Messages/Logs

Steps to Reproduce

Reproduction: Any prompt telling a model to "dispatch Agent with model:
'haiku'" — the model may or may not respect it

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.74

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

VS Code integrated terminal

Additional Information

Suggestion: Either enforce model parameter via a system-level constraint, or
surface a warning when a dispatched agent's model differs from what was
specified in the parent prompt
I ask for a full refund of my burnt bills.

View original on GitHub ↗

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