Workflow agent() spawns inherit the session model with no override; built-in workflows ship unpinned — one deep-research launch ran 84 agents on Fable 5
Workflow scripts spawn agents through a path that bypasses both CLAUDE_CODE_SUBAGENT_MODEL and PreToolUse Agent/Task hooks. The docs confirm there is no configuration lever: "Every agent in a workflow uses your session's model unless the script routes a stage to a different one" (code.claude.com/docs/en/workflows, Cost section). The built-in workflows (for example deep-research) contain no model: routing on any agent() call.
Result: on July 6, 2026 (v2.1.201), a single deep-research invocation from a session whose main loop ran claude-fable-5 spawned 84 subagents, all on claude-fable-5, consuming ~11.6M tokens (908k input / 202k output / 3.8M cache-write / 6.6M cache-read, deduplicated by message id) from the limited Fable weekly inclusion before it was manually killed. There was no warning at launch time that a built-in workflow would fan out dozens of agents on the session's frontier model.
Related: issue #75054 (pins dropped on wake/resume) — together these mean there is currently no reliable way to keep delegated work off an expensive session model.
Requested (any of):
- A default-model setting for workflow-spawned agents (env var or settings key), or
model:pins in the built-in workflow scripts, or- At minimum, a launch-time warning showing which model the fan-out will run on and roughly how many agents the workflow may spawn.
Environment: Claude Code v2.1.201, macOS, Max subscription, main loop on claude-fable-5[1m].
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗