Hey, this isn’t a bug. Composer 2 Fast and Composer 2 are two different models, not a toggle on top of one model. That’s why there’s no separate /fast-mode, unlike /max-mode, which parameterizes the current model.
To switch to non-fast:
In interactive mode: run /model and pick Composer 2 (or /model composer-2)
When starting the CLI: use the --model composer-2 flag
Hi! Can you please share a screenshot of what your model picker looks like? Most likely, you have the new model picker, and you just need to hover over the model and press Edit to toggle Fast Mode on or off.
Subject: Headless CLI billed as composer-2-fast despite --model composer-2
We run the Cursor CLI headless (agent -p --force) with --model composer-2 flag on our CI/CD pipeline. The system/init stream-json event correctly reports “model”: “Composer 2”. However, our usage dashboard shows all headless requests under the composer-2-fast billing line — not composer-2.
We’ve verified this with both CURSOR_MODEL env var and --model flag:
This correctly shows “Composer 2 Fast” in system/init:
agent -p --model composer-2-fast --api-key $KEY “prompt”
We’re on CLI version 2026.04.29-c83a488, using a user API key (crsr_*), and composer-2 is listed as available in agent models.
Desktop (same key, same account) correctly gets billed as composer-2. Only headless CLI usage gets grouped under composer-2-fast.
Is this expected billing behavior where headless/API-key usage is categorized differently from Desktop/OAuth usage? Or is this a bug in the usage dashboard?
We’ve seen at least a couple of other users mention similar behavior. Appreciate any clarification!
Hi @Prince_Bharti Thanks for reaching out! As this looks like a billing specific question the best place for us to help you is by reaching out to [email protected]
This will allow us to get a look at your account and handle these matters in a more private manner than the forum. Thanks!
I ran CURSOR CLI with model composer-2 specified, but on cursor dashboard I am biiled for composer-2-fast, it seems to be billing the wrong model when using composer-2 in cursor CLI.
Seems like a BUG for me.
To recreate, simply run Cursor CLI with composer-2, and then check the cursor dashboard usage tab, the biiling will be composer-2-fast.
Hey Gabriel, same issue here — running CLI with composer-2 but getting billed under composer-2-fast on the dashboard. Glad it’s not just me, but definitely seems like a bug rather than intended behavior.
As Kevin suggested, I’d recommend reaching out to [email protected] with your account details so they can investigate the billing discrepancy directly. Might be worth including your CLI version (mine is 2026.04.29-c83a488) and a note about whether you’re using a user API key (crsr_*) or OAuth, as that seems to be a factor.
Hey @Gabriel_Cunha, a quick clarification on what you’re seeing. Composer 2 non-fast was recently removed from the cursor-agent CLI. In the picker and via --model composer-2, it’s no longer served as a separate model. The flag is still accepted, but the request actually goes to composer-2-fast, so that’s what you see in the dashboard. This also explains why “Composer 2” disappeared from /model for OlinB.
That system/init still shows "model": "Composer 2" is misleading, I agree. I’ll track this separately so the team either returns a clear error or deprecation for --model composer-2, or updates system/init to match the model that’s actually being served. No ETA on this yet.
If anyone suspects a real billing mismatch on the account, not just the label in system/init, email [email protected]. The team can review the account events privately, like Kevin suggested above.
Hi @Prince_Bharti , it’s not a bug, you just need toggle between fast and regular in the CLI. It shows just one model from the picker but when you press Tab you can toggle between fast and regular mode.
Then press Tab. Then, press Enter to Select Fast Mode (indicated with the X) or press Enter to disable Fast Mode (as shown below, fast mode is disabled now).
Hi @kevinn, thanks for the response, but I think my original issue wasn’t fully considered here.
The /model toggle and Tab key approach only works in interactive CLI mode. My issue is specifically with headless mode (agent -p --force), where there is no interactive session — so pressing Tab to toggle fast/regular mode is not applicable.
To recap the actual problem:
I’m passing --model composer-2 (or CURSOR_MODEL=composer-2) explicitly in headless/CI mode
The system/init stream-json event correctly confirms "model": "Composer 2"
But the usage dashboard bills it as composer-2-fast, not composer-2
The same API key used via Desktop (OAuth) bills correctly as composer-2
This is not a model selection issue — the model IS being selected correctly. The issue is a billing/dashboard discrepancy specific to headless API-key usage.
Could someone from the billing/backend team look into why headless CLI requests are being categorized differently from Desktop requests, even when the same model is explicitly specified? Happy to provide logs or account details.