Selecting Opus5 1m context through CLI args isn’t possible. cursor-agent --model claude-opus-5-thinking-high or cursor-agent --model 'claude-opus-5[thinking=true,context=1m,effort=high,fast=false]' leaves you with 300k context window when you trigger /context after the first message. the latter cmd shows even 1M in bottom left corner, but with /context you can see that it is a lie.
Thanks for the detailed report, and for checking /context instead of trusting the label. Your read is right: the “1M” in the bottom left reflects the parameters you selected, while /context shows the window the server actually allocated. When they disagree, /context is the accurate one.
This is a confirmed bug on our side, already tracked internally with a fix in progress.
The 1M window on Opus 5 is gated behind Max Mode. Selecting the 1M variant from inside an interactive session enables Max Mode automatically, but the --model startup flag doesn’t, so your command gets sent without it and falls back to 300k.
Workaround until the fix ships: start cursor-agent, run /max-mode, and confirm it shows as enabled, then check /context. Max Mode persists across sessions, so once it’s on, launching with --model 'claude-opus-5[...]' should pick up the 1M window. It does use token-based pricing, so a request can consume noticeably more usage than a standard one: Max Mode on legacy plans | Cursor Docs