Hey, no update on the fix yet. This is still a known bug where a subagent doesn’t respect the selected model variant and switches to fast or picks the wrong model. I can’t share an ETA. Once I have one, I’ll reply in the thread.
About .cursor/agents. This folder isn’t created by default, you need to create it manually. Both project-level .cursor/agents/ in the repo root and user-level ~/.cursor/agents/ work. Inside, put one .md file per subagent with YAML frontmatter. Example:
---
name: explore
description: Explore subagent for codebase discovery
model: composer-2.5[fast=false]
---
Subagent instructions prompt goes here.
Key point. Control the variant using bracket syntax in the model field:
model: composer-2.5[fast=false]uses the normal non-fast variant.model: composer-2.5[]ormodel: [composer-2.5]also forces the base variant.model: composer-2.5without brackets can silently fall back to fast on the backend.
This syntax also works for other model params, for example claude-opus-4-8[effort=high]. It’s not documented yet, but it works. Note: this works in IDE frontmatter, but the CLI --model flag doesn’t parse bracket params yet. In CLI you need to pass the exact slug, like claude-opus-4-8-thinking-high.
Frontmatter fields: name, description, model, plus optional readonly, is_background.
A few notes:
- This workaround only works for custom subagents defined via frontmatter.
- For the built-in Explore subagent, in Settings 3.3+ there’s a separate dropdown Explore subagent model where you can pick a model or Inherit. But composer fast vs non-fast is currently bugged. Even if you select composer-2.5 with fast disabled, the backend may still switch to fast. For other built-in types like generalPurpose, there’s no separate picker.
- If you’re on the legacy request-based plan, built-in subagents are forced to Composer Fast no matter what you pick. That’s plan policy, not a bug. Turning on Max Mode on the parent agent removes this limitation.
- If you want to block built-in subagents entirely so they don’t burn tokens, use the
subagentStarthook withpermission: "deny": Hooks | Cursor Docs. Note: for this hook,"ask"isn’t supported and is treated as"deny".
Docs for subagents: Subagents | Cursor Docs
One more thing. The model in frontmatter can sometimes be ignored and the subagent inherits the parent model. That’s a separate known bug. If you see that even with an explicit bracketed model, send the Request ID right top corner of the chat > Copy Request ID and your Cursor version, and we can dig in.