Skip to main content

Cursor

Tasks

Route Cursor's AI features through AIControls for full audit coverage and policy enforcement on all chat, Composer, and background agent calls. Configuration is done in Cursor's settings UI — no code or config files to edit.

Prerequisites

  • Cursor installed and open
  • Your workspace proxy URL — find it in Settings → Integrations
  • A personal access token — create one in Settings → Access Tokens

Configure Cursor

Open Cursor settings (Cmd/Ctrl + ,) and navigate to Models. Scroll to the OpenAI API Key section and configure as follows:

SettingValue
Override OpenAI Base URLhttps://YOUR_ORG.aicontrols.dev/cursor/v1
OpenAI API KeyYour AIControls personal access token

Enable the override toggle and save. All Cursor AI features — chat, Composer, Tab, and background agents — now route through AIControls.

note

AIControls exposes a Cursor-specific OpenAI-compatible endpoint at /cursor/v1. Both Anthropic (Claude) and OpenAI (GPT, o-series) models are supported — Cursor sends all requests in OpenAI format and AIControls routes to the correct upstream based on the model name.

Adding models

Cursor does not automatically discover models from a custom base URL. You need to add each model you want to use manually in Cursor Settings → Models → Add model.

Enter the model name exactly as it appears in your AIControls upstream configuration. Both Anthropic and OpenAI model IDs are supported:

ProviderExample model names to add in Cursor
Anthropicclaude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5
OpenAIgpt-4o, gpt-4o-mini, o3

Model aliases

Cursor reserves some model names (e.g. claude-3-5-sonnet) for its own built-in routing. If the name you want conflicts with a Cursor built-in, use an alias instead.

In Settings → Upstreams → Edit upstream, your administrator can configure a model alias mapping — for example, mapping my-claude-sonnet to claude-sonnet-4-6. Add the alias name in Cursor; AIControls resolves it to the actual model before forwarding the request.

tip

If a model you add in Cursor shows "unknown model" errors, ask your administrator to verify the model ID or alias is configured correctly in the upstream settings.

Verify the connection

Open a Cursor chat, select one of the models you added, and ask anything. Check your workspace Audit Log — the request should appear with your identity within seconds.

Troubleshooting

Cursor shows "invalid API key"

  • Confirm the base URL is https://YOUR_ORG.aicontrols.dev/cursor/v1 (no trailing slash)
  • Regenerate your access token in Settings → Access Tokens and paste it again
  • Make sure the override toggle is enabled and saved

Model not found or unknown model errors

  • Confirm you added the model name manually in Cursor — models are not auto-discovered from a custom base URL
  • Check that the model name matches exactly what's configured in your AIControls upstream (or a configured alias)
  • Ask your administrator to verify the upstream has the model enabled in Settings → Upstreams

Requests not appearing in Audit Log

If Cursor is using its built-in model routing rather than your custom base URL, traffic won't route through AIControls. Confirm "Override OpenAI Base URL" is enabled and the API key field is not empty.