Can't generate User API Key, only Admin scope

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Individual / Pro account. Docs say mint a User API Key at Integrations / API Keys. I only get Admin scope. @cursor/sdk returns Invalid User API Key. In Mar 11, Colin said admins can “enable personal API keys” but doesn’t say how — where is that toggle for an individual account, and how do I turn it on?

Steps to Reproduce

https://cursor.com/dashboard/api

Click the Add button > Observe that scope is admin and no option of User

Expected Behavior

Select User instead of Admin and generate the correct type of User API Key for the sdk

Screenshots / Screen Recordings

Operating System

MacOS

Version Information

https://cursor.com/dashboard/api

For AI issues: which model did you use?

grok 4.5 - searched docs and forums with my tokkens and could not find the answer

Additional Information

This serously needs to handled effortlessly - what am I missing?

Does this stop you from using Cursor

Yes - Cursor is unusable

Issue: Cannot mint a usable User API Key for @cursor/sdk / Cloud Agents.

Account: Individual (not Enterprise team admin workflow).

Expected (per docs): Dashboard → API Keys / Integrations → create a User API Key → set CURSOR_API_KEY → SDK accepts it (Cursor.me``(), Agent.prompt, etc.).

Actual:

  1. API Keys page is titled “User API Key”.
  2. Created keys show scope Admin.
  3. SDK rejects them with Invalid User API Key (Admin keys unsupported).
  4. Integrations has no separate User key mint UI on this account.
  5. Cloud Agents setup / overview checkboxes do not change key minting or scope.

Impact: Cannot authenticate Cursor SDK or scripted agents against the subscription. IDE chat works; programmatic access does not.

Ask: How does an individual account mint a real User-scoped API Key (not Admin)? If the page title is wrong, please fix labeling and enable User key creation.

Hey, thanks for the detailed report. You don’t need to enable anything here. Everything is already working as expected, the UI is just confusing.

Key point: any key created in the User API Keys tab at cursor.com/dashboard/api is already a User API Key. There is no separate User scope to pick. Dashboard keys for an individual account are created without any scope strings, and the UI in the Scope column shows Admin by default. That’s just a cosmetic mislabel (we know about it) and it doesn’t affect the key type. So you don’t need to switch Admin to User, and there is nowhere to do that.

About Colin’s Mar 11 quote, enable personal API keys is for team or enterprise accounts where a team admin can gate member access. On an individual Pro account, there is nothing to enable. You already have access, and your screenshot shows that.

Now about Invalid User API Key. Most likely the issue is which secret ended up in CURSOR_API_KEY. The table only shows a masked value like crsr_…c413. That will always return 401. The full secret is only shown once, in the create key dialog when you make the key. Try this:

  • Create a new key in the User API Keys tab.
  • Copy the full secret directly from the create dialog, not from the table.
  • Set that as CURSOR_API_KEY.
  • Check your shell or env file for an old CURSOR_API_KEY export. It can override the new value, and that’s a classic reason for 401 after recreating a key.

Let me know if the SDK still returns 401 after that, and we can dig deeper.

Thanks for the reply. While I feel certain this is how I set it up on my first 3 attempts, follow your instructions is what I apparently needed. Returning status 200, ok