[BUG Report] Sub-agent runner completely ignores model constraint in local definition files

Where does the bug appear (feature/product)?

  • Cloud Agents & Automations (cursor.com/agents, scheduled/event)
  • Editor, Tab & Chat (autocompletion, Composer, in-editor agent)

Describe the Bug

When invoking a sub-agent configured in ~/.cursor/agents/Max.md, the parent agent completely ignored the configured model (cursor-grok-4.5-high) and autonomously executed claude-opus-5-thinking-high without authorization.

Steps to Reproduce

  1. Create a sub-agent file ~/.cursor/agents/Max.md with model constraint set to cursor-grok-4.5-high.
  2. Run a task where the main agent delegates work to Max.
  3. Check the execution logs / model indicator.

Expected Behavior

The runner must strictly respect the model defined in ~/.cursor/agents/Max.md and execute Grok 4.5.

Operating System

  • Linux (Ubuntu)

Version Information

  • OS: Linux (Ubuntu)
  • Cursor Version: Latest

For AI issues: which model did you use?

  • Configured Model: cursor-grok-4.5-high
  • Incorrectly Executed Model: claude-opus-5-thinking-high

Does this stop you from using Cursor?

  • No - Cursor works, but with this issue

Bug Description

There is a severe model routing bug in the current Agent runner. When a sub-agent is invoked, the parent agent completely ignores the sub-agent’s local model configuration defined in ~/.cursor/agents/*.md and executes a completely different model without prompt boundary compliance.

Steps to Reproduce

  1. Define a sub-agent (e.g., Max.md in ~/.cursor/agents/) with a specific model setting: Grok 4.5 (cursor-grok-4.5-high).
  2. Run a task that triggers this sub-agent.
  3. Observe the model executed during the sub-agent task.

Expected Behavior

The sub-agent runner must strictly respect the model specified in the ~/.cursor/agents/ markdown configuration.

Actual Behavior

The parent agent autonomously overrode the configuration and invoked claude-opus-5-thinking-high instead.

When queried during execution, the agent explicitly confirmed that it disregarded the user-defined Max = Grok 4.5 high setting and chose Claude Opus arbitrarily.

System Impact

This breaks the deterministic behavior of custom agents and bypasses user-defined agent boundaries. Please investigate and fix this configuration enforcement issue in the agent runner.


Environment Information

  • OS: Ubuntu / Linux
  • Cursor Version: Latest
  • Logs / Proof: Screenshot attached showing the agent explicitly confirming it bypassed the Max = Grok 4.5 high constraint.

Hi there!

We detected that this may be a bug report, so we’ve moved your post to the Bug Reports category.

To help us investigate and fix this faster, could you edit your original post to include the details from the template below?

Bug Report Template - Click to expand

Where does the bug appear (feature/product)?

  • Editor, Tab & Chat (autocomplete, Composer, in-editor agent)
  • Terminal & commands
  • Models, pricing & API keys (availability, Auto/Max, BYOK/Bedrock)
  • MCP & tools
  • Cloud Agents & Automations (cursor.com/agents, scheduled/event)
  • BugBot & Code Review
  • Cursor CLI
  • Cursor Mobile
  • Remote (SSH / Dev Containers / WSL)
  • Account, billing & login
  • Something else…

Describe the Bug
A clear and concise description of what the bug is.


Steps to Reproduce
How can you reproduce this bug? We have a much better chance at fixing issues if we can reproduce them!


Expected Behavior
What is meant to happen here that isn’t working correctly?


Screenshots / Screen Recordings
If applicable, attach images or videos (.jpg, .png, .gif, .mp4, .mov)


Operating System

  • Windows 10/11
  • MacOS
  • Linux

Version Information

  • For Cursor IDE: Menu → About Cursor → Copy
  • For Cursor CLI: Run agent about in your terminal
IDE:
Version: 2.xx.x
VSCode Version: 1.105.1
Commit: ......

CLI:
CLI Version 2026.01.17-d239e66

For AI issues: which model did you use?
Model name (e.g., Sonnet 4, Tab…)


For AI issues: add Request ID with privacy disabled
Request ID: f9a7046a-279b-47e5-ab48-6e8dc12daba1
For Background Agent issues, also post the ID: bc-…


Additional Information
Add any other context about the problem here.


Does this stop you from using Cursor?

  • Yes - Cursor is unusable
  • Sometimes - I can sometimes use Cursor
  • No - Cursor works, but with this issue

The more details you provide, the easier it is for us to reproduce and fix the issue. Thanks!

Hey, thanks for the detailed report and the screenshots. I can see both Max.md and the log where the agent confirms it picked Opus.

One important detail: model: in ~/.cursor/agents/Max.md is a default, not a hard limit. If the parent agent explicitly passes a model in the Task call when delegating, that overrides what’s in the .md. So the config file is being read correctly, it’s just that the parent in this case injected claude-opus-5-thinking-high.

To make the model from the agent definition mandatory, add this to the frontmatter in Max.md:

---
name: max
model: cursor-grok-4.5-high
force-default-model: true
---

With force-default-model: true, any model the parent tries to pass will be ignored, and Max will always use cursor-grok-4.5-high. Also make sure model: is the exact slug (cursor-grok-4.5-high), not the display name. If it’s invalid, it silently falls back to the parent agent’s model.

Separately, about the parent picking Opus even though you didn’t ask for it, that’s known behavior and I’ve reported it. I can’t share an exact timeline for a change yet.

About the Opus usage that got spent, refunds and billing adjustments are handled by the team at [email protected]. Email them with rough timestamps and they’ll check your account.

Let me know if force-default-model fixed it.

Hi Dean,

Thanks so much for the detailed explanation and the force-default-model: true workaround! I have updated my config file accordingly.

Regarding the unintended Opus usage caused by this known behavior: I actually already opened a ticket with [email protected] (Ticket ID: T-E52893), but the request is completely stuck with the automated AI support bot (“Sam from Cursor”), which keeps issuing instant template rejections refusing any refunds.

Since you confirmed this parent agent behavior is a known system issue, could you please help flag or escalate Ticket T-E52893 internally to a human team member to review the billing adjustment?

I really appreciate your help!