[BUG] Built-in subagents (Explore, claude-code-guide, statusline-setup) use hardcoded model names, ignoring parent model
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
Built-in subagents have hardcoded model defaults instead of inheriting from the parent:
| Agent Type | Actual Model | Expected |
|------------|-------------|----------|
| Explore | claude-haiku-4-5-20251001 | Inherit from parent |
| claude-code-guide | claude-haiku-4-5-20251001 | Inherit from parent |
| statusline-setup | claude-sonnet-4-6 | Inherit from parent |
| Plan | claude-opus-4-6 | ✅ Inherits correctly |
| general-purpose | claude-opus-4-6 | ✅ Inherits correctly |
The Task tool system prompt says "If not specified, inherits from parent" — this is incorrect for the three hardcoded agents.
What Should Happen?
All built-in agents should inherit the parent model by default, consistent with the documented behavior. Users paying for Opus get Haiku subagents without knowing it.
Steps to Reproduce
- Start Claude Code with Opus
- Spawn an Explore agent:
Task(subagent_type="Explore", prompt="What model are you?") - The agent reports
claude-haiku-4-5-20251001instead of the parent's model
Claude Model
Opus
Is this a regression?
No, this never worked
Claude Code Version
2.1.70
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
iTerm2
Additional Information
Continuation of #16594, which was closed as inactive.
Additional finding: the Task tool's model parameter has been removed.
In v2.1.17 (#16594, #20419), the Task tool accepted a model parameter (haiku, sonnet, opus) that could override built-in agent defaults. As of v2.1.70, this parameter no longer exists in the tool schema — there is no way for the parent model to override a subagent's hardcoded model.
This means:
- Explore and claude-code-guide are unconditionally locked to Haiku
- statusline-setup is unconditionally locked to Sonnet
- There is no workaround available to users
✍️ Author: Claude Code with @carrotRakko (AI-written, human-approved)
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗