Cursor
Run the Cursor CLI or the Cursor IDE backed by a fused model panel.
fusionkit cursor launches the Cursor CLI
(cursor-agent) with the fused panel as its model backend. Cursor connects
through a bundled Cursorkit bridge that translates its protocol to the
gateway's OpenAI Chat surface.
cd your-git-repo
fusionkit cursorAnything after the tool name is forwarded to cursor-agent.
Prerequisites
- A logged-in
cursor-agentCLI on your PATH. Install it from cursor.com/cli. Cursorkit ships inside the npm package, so there is nothing else to check out. - Fusion v4 and RouteKit router config. Provider credential environment names
live only in
.routekit/router.yaml.
fusionkit doctor verifies both before you launch.
How the wiring works
The launcher starts the bundled Cursorkit bridge with its model backend pointed at the fusion gateway, then runs:
cursor-agent --endpoint http://127.0.0.1:<bridge-port> --model fusion-panelThe bridge exposes the default fused model and every other named ensemble.
The Cursor IDE (--ide)
To use fusion from the Cursor desktop app instead of the CLI:
fusionkit cursor --ideThis drives Cursorkit's desktop launcher, which starts a local TLS proxy and
opens an isolated Cursor window on your repo, pre-wired to the gateway. Pick
the fused model in the Agent model picker. Your normal Cursor profile, its
settings, and its built-in models are untouched; the isolated window adds the
fusion models additively. No public tunnel and no Settings changes are needed.
Leave the fusionkit process running while you use the window.
Custom OpenAI endpoint (BYOK)
When you point Cursor's own Settings at a public RouteKit (or FusionKit)
gateway instead of using --ide, set:
| Field | Value |
|---|---|
| Override OpenAI Base URL | https://<host>/v1/cursor |
| Model name | routekit/<served-id>, optionally followed by a discovered reasoning effort such as :high |
| OpenAI API Key | the gateway bearer token |
Cursor routes BYOK by model-name prefix (claude-* → Anthropic key,
gemini-* → Google key). The /v1/cursor mirror namespaces every id under
routekit/ so pasted names always use the OpenAI key and the base-URL
override. The endpoint must be publicly reachable: Cursor's backend, not the
desktop, makes the request. See Troubleshooting.
Cursor does not expose its reasoning-effort control for custom
OpenAI-compatible endpoints. Without a suffix, RouteKit sends no explicit
effort and the upstream model applies its provider default. For a model whose
catalog metadata advertises low, medium, and high, RouteKit mirrors these
as separate model names:
routekit/openai/gpt-5.5
routekit/openai/gpt-5.5:low
routekit/openai/gpt-5.5:medium
routekit/openai/gpt-5.5:highSelecting the last name routes to openai/gpt-5.5 and sends
reasoning_effort: "high". RouteKit only accepts efforts advertised for that
model; the suffix is not forwarded as part of the provider model id.
Sub-agents
Cursor reads agent definitions from the repo's .cursor/agents/ directory, so
the launcher scaffolds one Markdown file per named ensemble there. These are
real, commit-worthy files; existing files are never overwritten, so your edits
win. Pass --no-subagents to skip the scaffolding.
Caveats
- Only the agent chat/plan panel uses the fused model. Composer, inline edit, apply, and autocomplete stay on Cursor's own backend.
- Direct and single-model mode belongs to RouteKit; FusionKit has no
--direct.
Related pages
- Cursor IDE disclosure
and
cursor-agentdisclosure for the separate RouteKit-provider and Cursor-cloud billing and egress boundaries. - Troubleshooting for the
ssrf_blockedand login errors. - Command reference for every launch flag.
- Quickstart for the first session.