Agent tool: model:"fable" parameter appears not respected — subagent runs on Sonnet instead

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 3, 2026

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

  1. In a Claude Code session, call the Agent tool with model: "fable" explicitly set in the parameters, e.g.:

``
Agent({
description: "...",
prompt: "...",
subagent_type: "general-purpose",
model: "fable"
})
``

  1. 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" with model: "fable" on both affected calls

View original on GitHub ↗