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

Open 💬 1 comment Opened Jul 7, 2026 by MelFender

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):

  1. A default-model setting for workflow-spawned agents (env var or settings key), or
  2. model: pins in the built-in workflow scripts, or
  3. 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].

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗