Erratic routing for Summarize feature (BYOK) & Input text buffer issue on macOS

Hi Cursor Team,

I am writing to report two technical issues I encountered while using a User API Key (BYOK) on Cursor, specifically regarding the Summarize feature and the input text field behavior on macOS.

Issue 1: Erratic Quota Routing with the Summarize Feature

When a User API Key is active, the system’s routing logic for the background Summarize task is highly unstable:

  • Custom Models Fail: Running a summary with custom-added models in the list completely fails to execute.
  • Erratic Quota Consumption: When switching back to the pre-listed default models, the summary works, but the token billing fluctuates randomly. It unpredictably shifts between my Cursor account’s Included balance, the Free tier quota.

Issue 2: IME Typing Glitch on macOS Lets Me Bypass Grok’s Key Restriction

  • The Trigger: I used a slash command (e.g., /summarize) using a non-English IME on macOS while using a custom User API Key.
  • The Glitch: Right after the command runs, the IME buffer glitches and automatically sends a random leftover text snippet (like “su”) as a new message.
  • The Bug: Grok 4.7 usually blocks custom keys, but it actually responds to this leaked “su” message because it gets caught in the active background routing session.
  • The Reset: Once Grok answers that leaked message, the app blocks me again on the next prompt with the usual “unsupported key” error.

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!

  1. …
  2. …
  3. …

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 @TuanNe, thanks for the report, and for separating the two parts so clearly.

I’ve flagged the summarize behavior to the team. When your own API key is on, the /summarize command currently doesn’t carry that key with it. That’s why it fails on your custom models, and why on Cursor’s built-in models (like Grok 4.7) it runs on your Cursor plan instead. The leftover “su” message was sent as part of that same summarize request, which is why Grok answered it once and then went back to the usual “unsupported key” error on your next prompt.

On billing: conversation summaries, including the automatic ones, always run on Cursor’s own summarization model, even when you chat on your own key. So they count toward your plan’s usage, not your provider’s. Which pool they draw from depends on what’s available on your plan at that moment, which is why it can look inconsistent.

In the meantime, for chats on your custom models, the most reliable option is to start a new chat when the context gets full instead of running /summarize.

For the IME part, could you try this and tell me what happens?

  1. Restart Cursor and open a new Agent chat.
  2. Select one of your custom models in the model picker.
  3. Switch your keyboard to the non-English input method you normally use.
  4. Type /summarize and press Enter to run it.
  5. Watch the chat for a few seconds without typing anything else.

Does an extra message (like “su”) appear by itself after step 4? If so, please reply with the name of the input method (for example Vietnamese Telex), your macOS version, and your Cursor version (Cursor > About Cursor).