Sub-agent model being ignored and premium models being erroniously used for subagents

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Subagent spawning after upgrading to cursor 3 now keeps spawning subagents with premium models instead of the model specified in the subagent definition.

This is absolutely destroying my API credits for trivial tasks that cheap models are more than capable of, I have to babysit pretty much every single sub-agent invocation and then cancel it if it’s using the wrong model. As you can imagine, this is making the experience of using cursor an absolute nightmare.

Steps to Reproduce

Have an agent that spawns sub-agents. It will just start randomly choosing premium models instead of the model specified in the sub-agent definition.

Expected Behavior

It adheres to the sub-agent definition and uses the model specified in that sub-agent, just like it used to.

Screenshots / Screen Recordings

Operating System

Windows 10/11

Version Information

Version: 3.4.20 (system setup)
VSCode Version: 1.105.1
Commit: 0cf8b06883f54e26bb4f0fb8647c9500ccb43310
Date: 2026-05-15T02:26:10.351Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Windows_NT x64 10.0.19045

For AI issues: add Request ID with privacy disabled

Example Request ID: 3ff0308f-57de-44fe-91bb-8e50d950df47

^^^ This request ended up spawning sub-agents as part of its session. These sub-agents were using inconsistent models.

Additional Information

All of my sub-agents specify models. These models are seemingly ignored at random…

---
name: generic-reviewer-cleanliness-elegance
model: composer-2[fast=false]
description: Single-file reviewer focused on cleanliness/elegance; aggressively simplifies, refactors, and reduces code/tech debt.
---
---
name: generic-reviewer-domain-runtime
model: composer-2[fast=false]
description: Reviews for correct behavior over time, consistent state changes, and clear boundaries of responsibility (specialized by runtime rules/instructions).
---

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey, thanks for the report with the request ID and the YAML examples.

This is part of a known cluster of bugs around model resolution for subagents. When a parent agent calls the Task tool, its model parameter can override what’s set in the subagent frontmatter. We don’t have an ETA for a fix yet, but it’s on our radar.

A couple quick questions:

  1. Where did the composer-2[fast=false] syntax come from? It’s not in our public docs at Subagents | Cursor Docs, so I’m curious where you saw it. Was it a hint from someone, release notes, or did you just try it by analogy?

  2. Workaround that works right now: Settings > Agents > Explore subagent model. Set the option you want so the default doesn’t jump to composer-2-fast for the built-in explore subagent. I see you already did this in a parallel thread. Let me know how it goes after the change.

For custom subagents with an explicit model:, the root issue is still the parent override, and this workaround won’t fix that. If you hit any fresh repros with a specific scenario, especially a request ID where an explicit model: in frontmatter was ignored, please post it here. It’ll help us narrow it down.