Run Cursor on a Local Model — Point the IDE at Your Own Mac
Cursor, but the model's running on your own Mac. One custom base URL in Settings → Models and chat, Ctrl-K, and composer all route to a local model — private, offline, no per-token bill.
Cursor is where a lot of us live now, and its AI is genuinely good. But every completion, every Ctrl-K, every composer run goes to the cloud and gets billed. For a lot of day-to-day editing — refactors, explain-this, small features — you don't need a frontier model in a datacenter. You need a capable one on your Mac, wired into the editor you already use.
This is the second in a short series on pointing your favorite agent at a local model. (First up was Claude Code.) Cursor takes about five minutes.
- Your code stays local. Cursor's chat and composer stop shipping your files to the cloud.
- No meter. Once the model's on disk, editing all day costs nothing.
- It just works. rapid-mlx serves the OpenAI wire Cursor expects — you're changing one URL, not installing a bridge.
The whole thing
brew install rapid-mlxrapid-mlx serve qwen3.6-35b-4bit- Cursor → Settings → Models → set the OpenAI base URL to
http://localhost:8000/v1
1 · Install rapid-mlx
Local, OpenAI-compatible inference for Apple Silicon. It's in Homebrew core:
brew install rapid-mlx
2 · Serve a model that fits your Mac
rapid-mlx serve qwen3.6-35b-4bit
The server comes up at http://localhost:8000. First run downloads the weights; after that it's seconds.
| Your Mac | Model | Good for |
|---|---|---|
| 16 GB | qwen3.5-4b |
Fast edits, Q&A |
| 32 GB | gpt-oss-20b |
All-round + strong tools |
| 48 GB+ | qwen3.6-35b-4bit |
The coding sweet spot |
No tool flags needed. Since 0.10.14, serve auto-configures the tool-call parser and turns on grammar-constrained tool calling — Cursor's composer, which leans on tool calls, gets clean results with nothing to set.
3 · Point Cursor at it
Open Settings → Models → Add Model, then set:
OpenAI API Base: http://localhost:8000/v1 API Key: not-needed Model name: default # or any served alias, e.g. qwen3.6-35b-4bit
The base URL ends in /v1 here — that's the OpenAI shape Cursor speaks. (Claude Code is the opposite: it wants the bare root. Different wires.) And if Cursor's dropdown hides an alias it doesn't recognize, pick default — it always resolves to whatever the server booted.
4 · Use it
Pick default from the model dropdown. Now chat, Ctrl-K, and composer route to http://localhost:8000/v1 — running on your Mac. Ask it to explain a function, refactor a file, or scaffold a component; it reads and edits in the editor as usual.
What this covers — and what it doesn't
Cursor's interactive surfaces — chat, Ctrl-K, and composer — honor the custom endpoint. Cursor's fully-managed background agent routes through Cursor's own backend and can't be pointed at a local server. So this covers the editing you do by hand all day; the autonomous cloud agent stays cloud. For a fully local agent loop, Claude Code or Codex is the better fit.
Honest expectations. A model on your Mac isn't a frontier cloud model. Where local shines: private and offline work, quick edits, explain-and-refactor, and never watching a bill. Where the cloud still wins: the hardest reasoning and the largest context. You don't have to pick one — switch Cursor's model back anytime.
Where to go next
- Full Cursor guide — settings, model dropdown notes, and the agent-path caveat in detail.
- Claude Code → local — the fully-local CLI agent.
- Integration matrix — every agent × the four Tier-1 families.
- Install rapid-mlx — Homebrew or one curl. Apache 2.0.
pip install rapid-mlx,
then rapid-mlx serve <alias>. Browse every supported
model on the family docs or pick one by your
Mac's RAM at models.rapidmlx.com.