Use Cursor with Claude money.
Known Issues
- Sometimes Cursor returns
Provider Errorif you don't use it for a while. Workaround is to restart the app, and put in the new OpenAI Base Url. Will fix soon. This model does not support assistant message prefill.Will fix soon.- You need a paid Cursor account to use third-party models. I don't know what to do about this...
No installation needed! Just run:
npx claudsorA browser tab will open for Anthropic login. Paste the returned code back into the terminal.
The terminal will then print something like
claudsor v0.3.0
local: http://localhost:5090
tunnel: https://grumpy-views-cross.loca.lt
config: ~\.claudsor
Paste into Cursor -> Settings -> Models -> OpenAI Base URL:
https://grumpy-views-cross.loca.lt
Paste the URL (in this case https://grumpy-views-cross.loca.lt) into Cursor Settings → Models → API Keys → Override OpenAI Base URL (IMPORTANT: you need to be logged into a personal Cursor account, else enteprise privacy controls might disable this setting).
You also need to put in something in the OpenAI API Key field, but it can be anything.
From there on, any model starting with gpt- will be routed to the server.
Congrats! 🎉
| Client model | Claude |
|---|---|
gpt-*-codex |
claude-opus-4-7 |
Anything else with gpt- |
claude-sonnet-4-6 |
gpt-*-nano, gpt-*-mini |
claude-haiku-4-5 |
git clone https://github.com/shotnothing/claudsor
cd claudsor
npm install
node index.jsLayout:
index.js: CLI entry, banner, shutdowncli.js: arg parserpaths.js: resolves~/.claudsor(token + logs)auth.js: Anthropic OAuth + token refreshclaude.js:fetchwrapper for/v1/messagestranslate.js: OpenAI <-> Anthropic translation (request + SSE)server.js: HTTP server on--porttunnel.js-localtunnelwrapperlogger.js: JSONL logs (input,output,errors,http)
Tail the logs to watch traffic:
tail -f ~/.claudsor/logs/input.jsonl
tail -f ~/.claudsor/logs/errors.jsonl
