claude-cursor-proxy
Local proxy so Claude Code and grok-build (Grok CLI) can use Cursor models (Fable), plus Codex, Kimi, and Grok
Install / Use
npx skills add YeautyYE/claude-cursor-proxyInstalls into whichever agent you are using.
.cursorrules
Cursor IDE rules (legacy)
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of claude-cursor-proxy
claude-cursor-proxy scores 73/100 on our quality scale, 863rd of 955 AI & Machine Learning skills we index.
Its .cursorrules is 54 KB long, well organised into 39 sections with 19 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.
It has 11 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 34 days ago, so claude-cursor-proxy is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
claude-cursor-proxy compared with similar skills
All 4 of these similar skills score higher than claude-cursor-proxy; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| claude-cursor-proxy (this skill)by YeautyYE | 73 | 11 | 34d ago | .cursorrules |
| claude-memby thedotmack | 100 | 100.1k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 96.5k | 4d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 86.1k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 75.1k | today | CLAUDE.md |
Frequently asked questions
- How do I install claude-cursor-proxy?
- Run
npx skills add YeautyYE/claude-cursor-proxy. The install tabs above show the steps for each supported agent. - Which AI agents does claude-cursor-proxy work with?
- It is written for Cursor, Claude Code and OpenAI Codex, as a .cursorrules file. Other agents that read the same format can often use it too.
- Is claude-cursor-proxy safe to use?
- It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is claude-cursor-proxy still maintained?
- The repository was last updated 34 days ago, so claude-cursor-proxy is actively maintained.
Skill content
View source on GitHubclaude-cursor-proxy
中文 | English
Adapted from raine/claude-code-proxy. This project is a Cursor-first local proxy for Claude Code and Grok Build (grok / grok-build).
Run Cursor models (Fable 5) from Claude Code or grok-build — stably.
Claude Code ──Anthropic /v1/messages──► claude-cursor-proxy (:18765)
grok-build ──Responses / Messages ──► │
├── Cursor (Fable 5) ← primary
├── Codex ← additional
├── Kimi
└── Grok
Quick start · Models · Sand mode · Features · Config · MCP troubleshooting · Limitations
What it does
Claude Code speaks Anthropic (/v1/messages). grok-build speaks OpenAI Responses (/v1/responses). Cursor uses its own Agent protocol. They do not talk to each other directly.
This tool runs a local one-way proxy (default 127.0.0.1:18765):
- Claude Code or grok-build send their usual requests to the proxy
- The proxy translates them for Cursor and forwards upstream
- It streams the matching SSE back — Anthropic
pingkeep-alive for Claude Code, Responses events for grok-build
Primary upstream: Cursor (Fable 5). Additional backends in the same process: Codex, Kimi, Grok.
Not affiliated with Anthropic, Cursor, OpenAI, Moonshot, or xAI.
Why
| | |
| --- | --- |
| Stable sessions | HTTP/2 BiDi upstream + Anthropic ping SSE keep-alive downstream |
| Fable 5 | Set ANTHROPIC_MODEL=claude-fable-5[1m] (and the same for ANTHROPIC_SMALL_FAST_MODEL) |
| Usage / ctx | Cursor turn usage mapped onto Anthropic usage for status lines and compaction |
| Tools | Cursor exec / native tools remapped into Claude Code and grok-build tool loops (best-effort) |
| Simple install | Checksummed binaries; macOS ad-hoc codesign; config under ~/.config/claude-cursor-proxy |
Honest scope: best-effort compatibility — not a full Cursor IDE mirror. See Limitations.
Quick start
Install
curl -fsSL https://raw.githubusercontent.com/YeautyYE/claude-cursor-proxy/main/install.sh | bash
macOS / Linux. Windows: download the .zip from Releases (or use WSL).
| Method | Command |
| --- | --- |
| Pin version | CLAUDE_CURSOR_PROXY_VERSION=v0.1.115 curl -fsSL …/install.sh \| bash |
| Custom dir | CLAUDE_CURSOR_PROXY_INSTALL_DIR=/opt/bin bash install.sh |
| From source | cargo install --git https://github.com/YeautyYE/claude-cursor-proxy --locked |
| Fork / mirror | GITHUB_REPO=owner/repo curl -fsSL https://raw.githubusercontent.com/owner/repo/main/install.sh \| bash |
Log in + serve
claude-cursor-proxy cursor auth login
claude-cursor-proxy serve # 127.0.0.1:18765 + monitor TUI
claude-cursor-proxy serve --no-monitor # logs only
claude-cursor-proxy serve --port 11435 # custom port
Hot account switch (no restart)
Run claude-cursor-proxy cursor auth login in another terminal while serve
is running. Credentials are re-read from the store on every request, so:
- new requests use the new account immediately;
- in-flight runs keep the token they captured at start and finish on the previous login — nothing is interrupted;
- existing sessions start a fresh Cursor conversation on their next turn (the client resends its history automatically).
cursor auth status shows the active account. Note: if
CCP_CURSOR_AUTH_TOKEN/CURSOR_AUTH_TOKEN is set in the serve process's
environment, the env token shadows the store and a login hot swap will not
take effect until you unset it.
Multiple Cursor accounts
Use login when you want the newly authenticated account to become active.
Use add when you want to keep the current account active and append another
login to the local account pool:
claude-cursor-proxy cursor auth add --label work
claude-cursor-proxy cursor auth list
claude-cursor-proxy cursor auth use ACCOUNT_ID
claude-cursor-proxy cursor auth usage # every saved account
claude-cursor-proxy cursor auth usage ACCOUNT_ID # one account
claude-cursor-proxy cursor auth usage --json # machine-readable
ACCOUNT_ID may be the id printed by list, an unambiguous email, or a label.
The pool is stored in cursor/accounts.json; the selected credential remains
mirrored to the existing cursor/auth.json so older installations continue to
work. In the monitor TUI, press a to open the account panel, Enter to
switch, u to fetch the selected account, and U to fetch every account in
parallel. Each account has its own refresh worker, so moving to another row
does not cancel the account that was just refreshed. Successful snapshots are
cached under the state directory and shown again on the next TUI open; the
Updated column (or the selected-row detail on narrow terminals) shows the
last dashboard fetch time. Press r to refresh the account list and all usage.
Press d on a selected account, then y/Enter to confirm deletion
(n/Esc cancels). Removing the active account immediately activates the next
available account. Adding, switching, or removing accounts does not require
restarting serve.
To reserve a saved account for particular models, press m from the main TUI
or the account panel. Use j/k to select a model and Enter/Space to choose
a saved account or automatic; press x to clear an assignment or
a to enter a catalog id that is not listed yet. Changes apply to new requests
immediately without changing the active account. Model-bound live runs,
conversation checkpoints, KV state, and tool continuations are partitioned by
account, so two models can use different accounts concurrently in one serve
process. The TUI stores the stable account id; labels and emails remain useful
selectors for headless configuration.
Point Claude Code at the proxy (Fable 5)
export ANTHROPIC_BASE_URL=http://127.0.0.1:18765
export ANTHROPIC_AUTH_TOKEN=unused
export ANTHROPIC_MODEL=claude-fable-5[1m]
export ANTHROPIC_SMALL_FAST_MODEL=claude-fable-5[1m]
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
export CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK=1
claude
Same keys work under "env" in ~/.claude/settings.json.
Always set ANTHROPIC_SMALL_FAST_MODEL to a full model id (same as ANTHROPIC_MODEL is fine). Otherwise Claude Code’s background small-model calls return HTTP 400.
claude-cursor-proxy codex auth login
ANTHROPIC_BASE_URL=http://127.0.0.1:18765 ANTHROPIC_AUTH_TOKEN=unused \
ANTHROPIC_MODEL=gpt-5.6-sol[1m] ANTHROPIC_SMALL_FAST_MODEL=gpt-5.6-luna[1m] \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK=1 \
claude
claude-cursor-proxy kimi auth login # or: grok auth login
</details>
Point grok-build at the proxy
grok-build 1.0.13 has two endpoint layers. Startup account settings and the
model catalog use the global GROK_CLI_CHAT_PROXY_BASE_URL setting (or
[endpoints].cli_chat_proxy_base_url); a [model.*].base_url only controls
inference after startup. Point the global endpoint at this proxy as well as
each model block below. The environment variable is convenient for a one-shot
run; the TOML setting is persistent.
1. Log in (once) and start the proxy
claude-cursor-proxy grok auth login # required for grok-4.5 / grok-4.6 chat
claude-cursor-proxy cursor auth login # only if you also route Fable / Composer
claude-cursor-proxy serve # 127.0.0.1:18765
2. Edit ~/.grok/config.toml — set the global startup endpoint and
override the official ids so Fast + effort menus stay enabled. Fast is
reasoning.effort = "low".
# ~/.grok/config.toml
[endpoints]
# Grok startup settings/model-catalog requests (required for local proxy):
cli_chat_proxy_base_url = "http://127.0.0.1:18765/v1"
# Optional image/video tools (also a global endpoint):
xai_api_base_url = "http://127.0.0.1:18765/v1"
[auth]
# Do not let an expired grok.com OIDC token block local-proxy startup.
# The proxy uses its own saved upstream credential for these requests.
preferred_method = "api_key"
[model.grok-4.6]
base_url = "http://127.0.0.1:18765/v1"
api_key = "unused"
[model.grok-4.5]
base_url = "http://127.0.0.1:18765/v1"
api_key = "unused"
# Cursor catalog via grok-build (official OpenAI Responses, not Claude Messages)
[model.cursor-grok]
model = "cursor-grok-4.6-xhigh-fast"
base_url = "http://127.0.0.1:18765/v1"
api_backend = "responses"
api_key = "unused"
# Optional: Claude Code-style Anthropic Messages (not the grok-build default)
[model.via-ccp]
model = "claude-fable-5[1m]"
base_url = "http://127.0.0.1:18765/v1"
api_backend = "messages"
context_window = 1000000
api_key = "unused"
supports_reasoning_effort = true
reasoning_effort = "high"
3. Run grok-build
grok --model grok-4.6
# or: grok --model grok-4.5
# or: grok --model cursor-grok
# or: grok --model via-ccp
For a temporary shell/session, the equivalent global override is:
GROK_CLI_CHAT_PROXY_BASE_URL=http://127.0.0.1:18765/v1 \
grok --model grok-4.6
Inbound api_key is accepted (Authorization: Bearer … or x-api-key; unused, other placeholders, and JWT-looking session tokens are treated as empty) and is not used as a user/tenant id. Grok /v1/responses passthrough forwards conversation, compaction (x-compaction-at, x-compactions-remaining), doom-loop, and a charset-limited x-grok-model-override — never Authorization, Cookie, or x-grok-user-id.
GET /v1/models advertises model, context_window, api_backend=responses (grok-build's official OpenAI Responses backend), supports_reasoning_effort, and reasoning_efforts (grok-4.6 includes xhigh / high / medium / low). A custom [model.*] block that omits api_backend defaults to Chat Completions in grok-build; set api_backend = "responses". This proxy does not implement /v1/chat/completions. /v1/messages remains for Claude Code.
Media routes (/v1/images/*, /v1/videos/*) proxy to https://api.x.ai/v1 (override with CCP_GROK_MEDIA_BASE_URL). A real client key is forwarded; placeholders and grok-build session JWTs fall back to the stored Grok OAuth token.
Models
Set ANTHROPIC_MODEL and ANTHROPIC_SMALL_FAST_MODEL to full model ids. Recommended Cursor default: claude-fable-5[1m].
Other backends use their own full ids (for example gpt-5.6-sol[1m], kimi-for-coding, grok-composer-2.5-fast). Unknown ids return 400.
How to list supported models
# Built-in registry
claude-cursor-proxy models
claude-cursor-proxy models --full
# While serve is running — Anthropic-compatib
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
100.1kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
96.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
86.1kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
75.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
