How can I prevent Cursor from using composer - 2 - fast to create sub - agents? Does the old version of Cursor not have this problem? The current billing method consumes too many requests. Often, asking one question consumes several requests.
Now it often automatically uses composer - 2 - fast to create sub - agents. I’m speechless.
Whatever you do, don’t try Opus 4.7: it’ll eat all your requests for the month before anything is done.
Look at settings->models and disable composer 2, and enable LLM’s that only cost 1 request. In the chat box, two dropdowns: select “Agent” in the first, toggle-off Auto and Max and “Use multiple Models” in the second, and select an LLM like “Opus 4.6 Max” (does not require Max mode) “Codex 5.3 High” or “GPT-5.4 1M*”
Also, in your .cursorules, add:
MANDATORY: DO NOT SPAWN SUBAGENTS, do everything serially, not in parallel
You MUST NOT use the Task tool under any circumstances. Subagents are forced to use Composer which produces unacceptable results. Do all work directly:
- Do not spawn parallel jobs
- Complex tasks: handle them yourself in this context, do NOT delegate
I haven’t updated cursor in months, so it’s prolly my old version. It seems all the updates do is find faster ways to chew through my allocation, so I don’t update. It looks like the latest ChatGPT requires Max mode, so I won’t be using it either, as Max mode can’t code “hello world” without consuming a months allocation. I prolly shouldn’t post here, as a day after the last post it disregarded my “no task tool” directive, and chewed-through a bunch of requests in parallel. I reminded it of the imperative in .cursorrules and it quit doing it.
I would guess, like Opus 4.7 at “half price mode”, if you ask it to code “hello world”, it would get partway done and have consumed all your requests for the month… so, I’ll let you experiment
Hey, thanks for the report. The tip from @blackburied works. On the request-based plan, subagents go through composer-2-fast by default, and there’s currently no direct UI toggle to disable subagents.
A couple ways to limit this:
Via .cursorrules like @blackburied suggested, tell the agent not to use the Task tool. This works most of the time, but the model can sometimes ignore the rule.
Via the subagentStart hook, this is more reliable. It programmatically blocks subagent spawning before they start. Return permission: "deny" and the subagent won’t be created. Docs: Hooks | Cursor Docs