Agent tool: model:"fable" parameter appears not respected — subagent runs on Sonnet instead
Summary
When calling the Agent tool with model: "fable" to launch a background subagent, the user observed that the resulting subagent appeared to be running on Sonnet rather than Fable. This happened twice in the same session, with two separate Agent invocations, both explicitly specifying model: "fable".
Steps to reproduce
- In a Claude Code session, call the
Agenttool withmodel: "fable"explicitly set in the parameters, e.g.:
````
Agent({
description: "...",
prompt: "...",
subagent_type: "general-purpose",
model: "fable"
})
- Observe the model actually used to execute the spawned subagent (via whatever session/UI indicator exposes this).
Expected behavior
The subagent should execute using the Fable model, as explicitly requested via the model parameter.
Actual behavior
The user reported (via the client UI, which is not visible to me as the calling assistant) that the subagent was running on Sonnet instead, despite model: "fable" being passed in both Agent tool calls. The user killed both agents after observing this.
Note on verifiability from the assistant side
As the assistant issuing the Agent tool calls, I have no way to independently confirm from the tool's return value which model actually executed the subagent — the tool result only confirms the agent was launched, not which model serviced it. This makes the discrepancy hard to diagnose or self-correct from within the session; the user's own UI was the only place the mismatch was visible. It may be worth surfacing the actually-used model in the Agent tool's return value or in task-notification metadata, so this class of routing issue is detectable programmatically rather than only visually.
Environment
- Claude Code CLI, Windows 11
- Session used
subagent_type: "general-purpose"withmodel: "fable"on both affected calls