Sub agents triggers even when disabled and uses Opus for no reason

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

I was using Cursor’s Subagents, and they were working well enough, but I didn’t want to use the API usage on some projects. I moved them to inherit from parent or only used Composer or Grok 4.5. Unfortunately, when I switched to inherit from parent, they were still using Claude Opus 4.8 High

I disabled the Subagents completely, and now, even when disabling them, While using Grok 4.5 as my default. It still trigger Subagents even though they are disabled. I have attached the screenshot, and its still calling Subagents. I don’t know how to disable them, and it is just costing my API usage.

Steps to Reproduce

For me, it was simply to make sub-agents inherit from a parent or simply disable them while asking Grok to review the entire project or to prepare a plan. It runs those sub-agents automatically without my control.

Expected Behavior

I was expecting the agents to actually work properly by respecting the filters and options I have set in Cursor settings.

Screenshots / Screen Recordings

Operating System

MacOS

Version Information

Version: 3.12.30
VS Code Extension API: 1.128.0
Commit: 63a2996a10d9e476b6c28e951dd7691d9c0cf480
Date: 2026-07-21T22:50:03.568Z
Layout: Agent Window
Build Type: Stable
Release Track: Default
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.256
OS: Darwin arm64 25.6.0

For AI issues: which model did you use?

Grok 4.5 High

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey @devjunaid , thanks for the detailed report.

To explain what’s happening here: subagents don’t automatically inherit the model from your main chat. By design, the agent picks whichever model it judges is the best fit for each subtask it spins up, and that can include Fast variants even when your main session is on a non-Fast model. So this is expected behavior rather than your model selection being ignored, though I understand it’s surprising when it shows up in your usage.

A couple of ways to get more control over this:

  1. Configure the Explore subagent. In Cursor Settings → Agents → Subagents you can set the model for the Explore subagent explicitly. Note: this only applies to Explore. Other subagent types the agent creates aren’t covered by that picker.

  2. Disable models you don’t want used. The stronger option is to disable the unwanted models in Cursor Settings → Models. The agent chooses subagent models from the set of models you have enabled, so removing the expensive ones from that set prevents the agent from picking them.

You can also add a rule (e.g. “subagents should use the same model as the main session”) as a softer nudge, though rules guide the agent rather than enforce it.

Hope that helps, and let me know if you have any follow-up questions!

Hey @kevinn

Thanks for the prompt response.

Yes, I initially had it inherited from parent which logically should be same as the main session but turns out its not enforcing at all. Most of the time agent goes with Opus 4.8 as default like it prefers this.
But the problem persists even when I completely disabled the sub agents. So this could be agents background tasks that will trigger even without enabling sub agents.

I do hope we should have the options for that.

Anyways, I have now disabled the expensive models as the most viable option available.

Thanks

Hi @devjunaid Just to clarify, the explore subagent is only one type of subagent, used for exploring and researching your codebase. So the “Explore Subagent Model choice” parameter in Settings applies ONLY to the Explore Subagent model. There are many different types of subagents that can be spun up by the agent - e.g. general purpose, internet research subagents, task implementation agents etc. It is up to the discretion of the agent that calls them to determine what model choice it would like to use to best fulfill its task. If you want a firm commitment (hard block so to speak) as to preventing the model from using a particular subagent model choice that best thing to do is to disable that particular model choice in Cursor Settings → Models. A subagent cannot use a disabled model.

Sounds like you have a good solution now!