Subagent task rows display the parent session's model/effort instead of the subagent's actual model
Version: Claude Code 2.1.233 (macOS, darwin 25.6.0)
Setup: Main session runs on Fable 5 (effort high/max). Custom agents defined in project .claude/agents/*.md with model: sonnet in frontmatter. Agents spawned via the Agent tool with subagent_type: "<custom-agent>".
Observed: The task list/agent rows in the UI label the subagents "Fable · Max" (the parent session's model and effort). This persists even when model: "sonnet" is passed explicitly on the Agent tool call.
Actual model is correct: When messaged and asked to quote their system prompt, the subagents report "You are powered by the model named Sonnet 5, exact model ID claude-sonnet-5". So routing/inference honors the frontmatter and the override — only the display label is wrong.
Impact: Not cosmetic in practice: orchestration setups pin subagent models specifically for cost control. A parent-tier label on a correctly-pinned agent looks identical to the real fail-open (an unpinned spawn genuinely inheriting the parent's expensive model), so users can't distinguish a display bug from a cost leak without probing agents individually. In our case it triggered an unnecessary kill-and-respawn of three in-flight agents.
Expected: Task rows show the model the subagent actually runs on (and ideally its effort), resolved after frontmatter/override precedence is applied.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗