Cursor
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:
| Setting | Value |
|---|---|
| Override OpenAI Base URL | https://YOUR_ORG.aicontrols.dev/cursor/v1 |
| OpenAI API Key | Your AIControls personal access token |
Enable the override toggle and save. All Cursor AI features — chat, Composer, Tab, and background agents — now route through AIControls.
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:
| Provider | Example model names to add in Cursor |
|---|---|
| Anthropic | claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5 |
| OpenAI | gpt-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.
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.