Why can't I specify custom models for subagents?


Feature Request: Allow Free Model Specification for Subagents

Testing Method

I created a custom subagent called test-submodel — a simple agent that reports its own model identity when invoked. This helps verify which model is actually running in a subagent context.

I then tested the Task tool’s model parameter with three values:

Value Result
"inherit" :cross_mark: Rejected
"fast" :white_check_mark: Accepted
"claude-4.5-opus-high-thinking" :cross_mark: Rejected

Current Behavior

The model field only accepts "fast" as a valid enum. The schema states “If not specified, inherits from parent,” but there’s no explicit way to pass other model names.

Feature Request

I’d love to see free model specification for subagents, allowing users to explicitly choose models like:

  • inherit
  • claude-4.5-opus-high-thinking
  • gemini-3.0-pro

This would enable workflows where the main agent uses a capable model for orchestration, while delegating simple tasks to faster/cheaper models — or vice versa for complex subtasks requiring deeper reasoning.

Proposed schema change:

"model": {
  "enum": ["inherit", "fast", "claude-4.5-opus-high-thinking", ...]
}

2 Likes

Hey @_liyx

Both inherit and claude-4.5-opus-high-thinking are valid values!

Typically, the easiest way to set these is through the Subagent editor you get when opening a markdown file in the agents directory.

Yeah, I can see those options in the UI too, but when it actually runs, I get the error shown in my screenshot:

Error: Invalid arguments: model: Invalid model selection. Available models are:

- fast: …

And the agent itself tells me that based on the Task tool definition, the model parameter has these constraints:

“model”: {

“description”: “Optional model to use for this agent. If not specified, inherits from parent. Prefer fast for…”,

“enum”: [“fast”],

“type”: “string”

}

So it seems like there’s a mismatch between what the UI shows as available options and what the actual tool definition allows. The tool only accepts “fast” in the enum, even though the UI lets me select other values like inherit or claude-4.5-opus-high-thinking.

Is this a known issue, or am I missing something in my setup?

Thanks @_liyx.

I think this is a side effect of being on a request-based plan. We’re updating our docs to be clear about this–but when using legacy pricing, you must use Max Mode in order to enable subagents on models other than Composer 1.

Could you try enabling Max Mode?

Tried it, works now. Thanks!