Cursor
Route the Cursor editor through Sentisec with the Custom OpenAI URL setting — chat, Composer, inline edit, and agent runs all get verdicts.
Cursor speaks the OpenAI Chat Completions API. Sentisec accepts it natively, so a single settings change routes every model call the editor makes through the Sentisec integrity engine.
Before you start
- A Sentisec workspace with an upstream credential for the provider you want to use — see providers.
- A workspace API key (Settings → API keys in the dashboard).
- Your workspace id, shown next to your keys.
Set it up
Open Cursor → Settings → Models and turn on Custom OpenAI.
Set the base URL to the workspace-scoped OpenAI form:
https://api.sentisec.ch/ws/<your-workspace-id>/v1Set the API key to your Sentisec workspace key
(sk_sentisec_…). Cursor sends it as the OpenAI bearer; Sentisec
resolves your workspace from it.
Add the models you want under Settings → Models → Available
Models. Cursor accepts custom model names and sends them verbatim
in the request's model field, so use ids your workspace's
credential can serve — for example gpt-4o, gpt-4o-mini, or
claude-sonnet-4.
Click Verify. Cursor sends a synthetic request through Sentisec. Open Gateway → Requests in the dashboard and you will see it land.
Choosing which upstream serves the request
Sentisec picks the upstream from the model id — gpt- and o1 route
to OpenAI, claude- to Anthropic, kimi- and moonshot- to Kimi,
gemini- to Gemini.
So the model you pick in Cursor's dropdown is what decides where the request goes. Choose an id whose prefix matches the provider you have a credential for, and there is nothing else to configure.
Cursor sends no custom headers, so it cannot pin an upstream explicitly. That rules out Google Vertex AI from Cursor specifically — Vertex model ids overlap other vendors' naming, so Vertex always has to be pinned by header. If you need Vertex from an editor, use a client that lets you set request headers, such as opencode.
What you will see
Open the dashboard while Cursor is running and go to Sessions. The newest session shows the per-step timeline: the request, the response, and the verdict for each step.
Cursor is chatty — autocomplete, chat, Composer, and agent edits all go down the same pipe — so sessions accumulate faster than they do for a terminal agent. If tab autocomplete drowns out the signal you care about, point autocomplete at a separate workspace.
When Sentisec blocks a tool call, Cursor sees the standard blocked-call shape described in the CLI agents overview: the call is withheld, and an assistant text in its place explains why.
Troubleshooting
Verify fails with 401. The Sentisec API key is wrong, revoked,
or belongs to a different workspace than the one in the URL. Re-check
both in the dashboard under Settings → API keys.
You get 503 provider_unavailable. The model id routed to a
provider that is not connected on this release. See
provider unavailable.
You get 401 no_upstream_credential. The provider is available but
your workspace has no key for it. Add one under Settings → Provider
keys.
A model id is rejected upstream. Cursor forwards the model name verbatim; Sentisec does not rewrite it. Use an id your credential's vendor actually serves.
Related
- OpenAI provider
- CLI agents overview — the common wiring
- Dashboard — sessions, verdicts, settings