SDK reports composer-2.5 but usage dashboard bills composer-2.5-fast

Where does the bug appear (feature/product)?

Cursor SDK

Describe the Bug

Hello,

I’m facing issue through the Cursor Agents SDK (Connected through API) and Billing. Simply: I’m selecting composer-2.5 model in my code (integrated with Agents SDK) with debugging to show the model and it still says composer-2.5. Everything is good for now. But when I go to the Usage Dashboard all my requests (from the Agents SDK) is billed as composer-2.5-fast. Why? That always happens and wastes a lot!

For me, I have no issues like this when using Cursor Apps.

Steps to Reproduce

Run a Cursor Agent through the SDK with model composer-2.5.

Screenshots / Screen Recordings

Operating System

Linux

Version Information

For Cursor IDE:
Version: 3.7.19 (system setup)
VS Code Extension API: 1.105.1
Commit: 80c653c2c3528e65016a0d304b54486084b470b0
Date: 2026-06-07T01:42:56.126Z
Layout: glass
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
xterm.js: 6.1.0-beta.256
OS: Windows_NT x64 10.0.26200

For Cursor SDK (on another machine (linux)):
Latest version (1.0.12)

For AI issues: add Request ID with privacy disabled

Requests Details:

  1. Agent: agent-72c7484f-af8d-49d9-8b9a-83099deed499
    Run: run-523b08d1-a92f-4454-8860-9d38aa64af89
    UTC: 2026-06-11T18:51:55Z
  2. Agent: agent-b18e8455-cd2d-4e37-b859-7ce8163adc05
    Run: run-cf39110d-efba-4c10-8c42-0a1043d0247d
    UTC: 2026-06-11T18:52:57Z
  3. Agent: agent-a599bdb5-aa48-449c-a3a7-8fbc3728d35d
    Run: run-ce5b79f9-81ec-4c8d-bf8d-4d05cf9f4fbc
    UTC: 2026-06-11T18:53:37Z
    (parent spawned 3 Task subagent tool calls; parent still reported composer-2.5)

Additional Information

Running the SDK on different machines, environments, or codebases doesn’t fix it.

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hi there!

Thanks for reaching out. This looks like a billing-related query, and the forum isn’t the right channel for these. The forum team does not have access to account details or the ability to do things like process refunds or manage subscriptions. As such, we’ve unlisted this thread.

Please email [email protected] for assistance. Our billing specialists are the experts in this domain and are best equipped to handle your request. Be sure to include the request IDs you’ve already gathered, as those will help the team investigate your case directly.

If you’ve already emailed, hang tight. The team will get back to you as soon as they can!

Hi @Dev4YM I’m taking a look

Thanks for the report, and for the run IDs.

As you know, “Composer 2.5” has two variants: a standard one and a faster, higher-priced one (“fast”). When you pass just the model id (“composer-2.5”) with no parameters, the API resolves it to the model’s default variant, which is the fast one. So your debug shows “composer-2.5” (the id you sent) while the dashboard shows “composer-2.5-fast” (the variant it resolved to and billed). The desktop app sends the specific variant you pick, which is why it bills as standard there.

You can control this from the SDK by passing the variant explicitly as follows:

TypeScript (@cursor/sdk):


model: { id: "composer-2.5", params: [{ id: "fast", value: "false" }] }


Python (cursor-sdk):


from cursor_sdk import ModelSelection, ModelParameterValue
model = ModelSelection(id="composer-2.5", params=(ModelParameterValue(id="fast", value="false"),))

REST (/v1/agents):


"model": { "id": "composer-2.5", "params": [{ "id": "fast", "value": "false" }] }


Please try this, and if it is not billing correctly, follow up here, and we’ll take another look!

Yeah it worked!

I hope the docs be more clearer lol (if not).

Thanks!