Gemini-3-pro-preview is forced to gemini-3-pro, causing BAD_USER_API_KEY

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

I am attempting to use the gemini-3-pro-preview model appropriately in Cursor. My Google AI Studio API key is strictly scoped to the preview version of this model; it does not have access to the standard gemini-3-pro.

However, Cursor’s “Add Custom Model” logic treats these two strings as identical aliases. When I input gemini-3-pro-preview, the UI automatically converts it to gemini-3-pro (stripping the suffix) effectively preventing me from adding the preview model explicitly.

Actual Behavior:

  1. Cursor forces the model gemini-3-pro to be enabled.
  2. Cursor sends the request payload with the model ID gemini-3-pro.
  3. The Google API returns a 401/403 error because the personal AI Studio API key provided is only valid for the specific …-preview variant.

Expected Behavior:
Cursor should treat gemini-3-pro-preview as a distinct model ID (separate from gemini-3-pro) and send that exact string in the API request payload.

Steps to Reproduce

Steps to Reproduce:

  1. Navigate to Settings > Models.
  2. In the “Add local custom model” input, type: gemini-3-pro-preview.
  3. Observe that the UI immediately maps/aliases this input to the existing gemini-3-pro model toggle, rather than adding a distinct entry for the preview version.
  4. Attempt to generate code.

Expected Behavior

Cursor should treat gemini-3-pro-preview as a distinct model ID and send that exact string to the API provider.

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.0.77
VSCode Version: 1.99.3
Commit: ba90f2f88e4911312761abab9492c42442117cf0
Date: 2025-11-13T23:10:43.113Z (5 days ago)
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 25.1.0

Additional Information

This API key functions correctly in other API clients (gemini-cli, curl, etc.) where I can explicitly specify the model ID as gemini-3-pro-preview. The issue is isolated to Cursor’s internal aliasing logic which assumes the preview and production models are interchangeable for all key types.

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey, thanks for the report. This is a clear issue with how Cursor’s custom model UI handles model name variants.

The aliasing logic that treats gemini-3-pro-preview and gemini-3-pro as the same model is preventing you from using your scoped API key correctly. Since your key works fine with the exact model ID in other tools, this is definitely an issue on Cursor’s side.

I’ll escalate this to the engineering team.

Confirmign still an issue.

1 Like

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.