Subagents are spawned with old models (opus 4.5, sonnet 4.5)

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Code discovery correctly runs on my chosen efficient model (cursor-grok-4.5-high), but later subagent work switches to older models, mainly Opus 4.5 No Thinking and Sonnet 4.5 Medium.

So after exploration, planning and implementation drafting often land on random older models instead of the newer efficient ones. The only workaround is to explicitly prompt: use this model for all subagents.

Steps to Reproduce

  1. Select GPT 5.6 Sol medium as a main model for chat.
  2. Ask for a multi-step task that needs discovery, then planning/implementation.
  3. Watch discovery subagents use the selected model correctly.
  4. Watch later subagents (plan / design / implement) start on Opus 4.5 No Thinking or Sonnet 4.5 Medium.

Expected Behavior

Every subagent should use enabled models in cursor settings or just newer models available.

Screenshots / Screen Recordings

Operating System

MacOS

Version Information

Cursor IDE 3.13.25

For AI issues: which model did you use?

GPT-5.6 Sol

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hi @Marcin_Miler Thanks for the detailed write-up. The subagents running on Opus 4.5 and Sonnet appear to be custom agents whose definitions specify those models. When an agent definition sets a model: value, Cursor uses it, and it takes priority over the model selected in chat. In the sessions behind your screenshots, each of those subagents resolved to exactly the model named in its own definition, so nothing overrode your choice. Explore and discovery subagents inherit the parent model by default, which is why those looked correct.

To change it, check the model: line in the frontmatter of your plan, design, and implement agents. They can live in .cursor/agents/ in the project, ~/.cursor/agents/ for your user, or in agent files shipped by an installed plugin. Set model: inherit to follow the chat model, or set a current model ID if that agent should always use a specific one. inherit is the default when no model: is given, so older definitions keep their explicit value until updated: Subagents | Cursor Docs

Some of your agents already point at Grok, so it’s likely only a subset that need changing. Your prompt workaround works because naming a model in the prompt passes an explicit model for that Task call, which takes priority over the agent’s configured default.

Let me know if updating those definitions doesn’t sort it out.