BYOK usage counts against "Other Models" quota, contradicting the API keys doc

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

When using my own API key via the OpenAI API Key field with “Override OpenAI Base URL”, the resulting usage is still counted under the “Other Models” pool on the dashboard, even though those requests are billed to me by my own provider and never touch Cursor inference.

The API keys help page says BYOK “lets you send unlimited AI messages at your own cost”, which implies it should not consume included usage. The Usage and limits page, which actually governs the pools, does not mention BYOK at all.

Concretely, my Included Usage (Sep 9 - Oct 9) lists 4.6M tokens of “Other Models” made up of models I ran through my own OpenRouter key: meta/muse-spark-1.3 (1.9M), moonshotai/kimi-k3 (1.1M), ~deepseek/deepseek-v4-flash-latest (706K), qwen/qwen3.8-max-0902 (346K), ~moonshotai/kimi-latest (279K), ~z-ai/glm-flash-latest (98K). Every one of those requests also appears in my OpenRouter activity log and was paid for with OpenRouter credits.

Questions:

  1. Does BYOK traffic actually consume the Other Models quota, or is it displayed for information only?
  2. If it consumes quota, what happens at the limit? Report 166751 (Jul 27) says the user’s own key stopped working entirely once Other Models was exhausted.
  3. If it is display-only, the docs and dashboard should say so, because it currently looks like double billing.

Prior reports describing the same thing: 162164 (Jun 1), 150496 (Jul 1, 14 replies), 166751 (Jul 27), 170567 (approx Sep 4).

Steps to Reproduce

  1. Cursor Settings > Models > API Keys
  2. Enable “OpenAI API Key” and paste an OpenRouter key (sk-or-…)
  3. Enable “Override OpenAI Base URL” and set it to https://openrouter.ai/api/v1/cursor
  4. Add a model that only exists on that endpoint, e.g. moonshotai/kimi-k3
  5. Send a few messages using that model
  6. Open the dashboard > Usage > Included Usage and look at the “Other Models” breakdown

Expected Behavior

Either BYOK requests should not appear in the Other Models pool at all, matching the “unlimited AI messages at your own cost” statement in the API keys doc, or the docs should state plainly that BYOK consumes included usage and what happens when that pool is exhausted. Right now the two help pages disagree and the dashboard implies I am paying twice for the same request.

Operating System

Windows 10/11

Version Information

Version: 3.20.21 (user setup)
OS: Windows_NT x64 10.0.26200
Plan: Premium (team)
Provider route: OpenAI API Key field + Override OpenAI Base URL = https://openrouter.ai/api/v1/cursor

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey @Stone_Sargent, thanks for the detailed report.

On Teams and Enterprise plans, third-party model requests carry a Cursor Token Rate of $0.25 per million tokens (input, output and cached), and that applies to models you run through your own key as well. The model cost itself still goes to OpenRouter, and we bill nothing for it. But the Cursor Token Rate is real usage, so your own-key requests show up under Other Models and draw from that included allowance. The 4.6M tokens you are seeing works out to roughly $1.16 of that allowance, not the OpenRouter cost of those requests, so you are not paying twice for the same thing.

To your second question: from what I can see, your team has on-demand usage enabled with no spending limit set, so when the Other Models allowance runs out your own-key requests will keep flowing and the team is only billed the $0.25 per million on-demand. The hard stop in the older report you mentioned happened because that team had on-demand usage turned off.

On the docs: the Team Pricing page now states that the Cursor Token Rate applies to BYOK, but you are right that the API keys page still describes the individual plan behavior (“unlimited at your own cost”, which is accurate on Pro where there is no Cursor Token Rate) without the Teams caveat. I am passing that along so the API keys and Usage and limits pages get the same note!