When I set Kimi as the planning model and Grok as the execution model in Agent mode, execution looks like Grok (tone/style), but my usage/billing shows tokens charged to Kimi, not Grok.
This suggests either:
routing still uses Kimi for execution while the UI shows Grok, or
billing attributes execution tokens to the wrong model.
Steps to Reproduce
Open Cursor Agent mode.
In model settings, set Planning model = Kimi and Execution model = Grok (not “same as planning”).
Start a task that triggers planning then execution (e.g. multi-step implementation with tool use).
Observe the assistant’s execution-phase responses (style/tone consistent with Grok).
Open Settings → Usage (or account usage dashboard) after the session.
Compare billed model vs what was selected for execution.
Expected Behavior
Planning-phase tokens billed to Kimi.
Execution-phase tokens billed to Grok.
Usage dashboard model breakdown matches the two selectors.
I checked the usage for the session that lines up with this report. Billing matches what actually ran: those turns were served by Kimi end-to-end, then Grok only after a manual switch a bit later. So this doesn’t look like a usage-page mislabel (Grok running but Kimi billed).
The plan→execution model swap only applies when you hit Build with a distinct build model set in the plan header picker (not “same as chat”). If you keep chatting to implement (“go ahead and build this”) without pressing Build, the conversation stays on the planning model - which matches a long Kimi-only session.
Could you confirm which path you used after planning?
Build (local)
Build in Parallel
Build in Cloud
Or continued by typing in chat without Build
If it was Parallel, set the bottom chat model to Grok before clicking Build in Parallel - that path currently inherits the chat model (related: Cursor Multitask/Build in Parallel uses different model than chosen). We’ve let the team know about the pickers that don’t always stick.
Your routing is working. That “I’m Kimi (kimi-k3)” line is just the model describing itself in text - it carries over the identity from your planning turns and isn’t a signal of which model actually ran. In a plan-with-Kimi → build-with-Grok session like your screenshot, Grok is doing the build; it’s just echoing Kimi’s earlier phrasing.
The real record is your per-model usage breakdown (tracked on the backend), which will show planning on Kimi and the build on Grok - matching your picker.
If you want proof for that exact session, grab a Request ID from one of the build steps (three-dot menu on the message → Copy Request ID) and drop it here - I’ll trace it and show you which model served it.