Cursor Integration
Beta CCS integrates with Cursor IDE to route its AI models through a local daemon proxy — no API key required. The daemon exposes both OpenAI-compatible and Anthropic-compatible endpoints so Claude-native clients can reuse the same local Cursor credentials.Quick Start
sqlite3 in your PATH. Windows does not support auto-detect.
Authentication
CCS auto-detects credentials from Cursor’s local SQLite database.| Platform | SQLite Path |
|---|---|
| macOS | ~/Library/Application Support/Cursor/User/globalStorage/state.vscdb |
| Linux | ~/.config/Cursor/User/globalStorage/state.vscdb |
| Windows | Manual only — see below |
~/.ccs/cursor/credentials.json (mode 0o600).
Auto-detect uses the
sqlite3 CLI on macOS and Linux. If sqlite3 is
missing, use manual import.Token validation: access token must be >50 chars, machine ID must be exactly 32 hex characters. Tokens expire after 24h (or per JWT
exp claim).CLI Subcommands
| Subcommand | Description |
|---|---|
auth | Import token (auto-detect or --manual) |
status | Show integration, auth, and daemon status |
models | List available models with 5-min cache |
start | Start local daemon |
stop | Stop daemon gracefully |
enable | Enable integration in config.yaml |
disable | Disable integration in config.yaml |
help | Show help |
Configuration
Available Models
Model list is discovered dynamically fromapi2.cursor.sh/v1/models with a 5-minute TTL cache. The list below reflects typical available models, but may change as Cursor updates their offering.
GPT Models
GPT Models
GPT-5.3 Codex (default), GPT-5.2, GPT-5.1, GPT-5, GPT-5 Fast, GPT-5 Mini
Claude Models
Claude Models
Claude 4.6 Opus, Claude 4.5 Sonnet, Claude 4.5 Haiku
Gemini & Grok
Gemini & Grok
Gemini 3 Pro, Gemini 3 Flash, Gemini 2.5 Flash, Grok Code
Dashboard Controls
Openccs config, then navigate to Cursor IDE in the sidebar.
- Import auth automatically or manually
- Start/stop the daemon
- Save runtime config (port, auto-start, ghost mode)
- Use searchable model pickers for large live catalogs
- Edit raw
~/.ccs/cursor.settings.jsonwhen needed
Daemon Management
The daemon spawns as a detached process and uses a settled-once pattern for startup — health is polled until the daemon signals ready or the timeout is reached (30s). Proper 413 (payload too large) responses are returned for oversized requests, and the daemon aborts cleanly on client disconnect. Daemon API surface:POST /v1/chat/completionsfor OpenAI-compatible clientsPOST /v1/messagesfor Anthropic-compatible clientsGET /v1/modelsfor dynamic model discovery
| Path | Purpose |
|---|---|
~/.ccs/cursor/credentials.json | Auth credentials |
~/.ccs/cursor/daemon.pid | Daemon PID file |
~/.ccs/cursor.settings.json | Settings override |
~/.ccs/config.yaml | Main config (cursor: key) |
SIGTERM, waits 5s, escalates to SIGKILL if still running.
Health check: GET /health — expects { "service": "cursor-daemon" } in response.
Dashboard API
The CCS dashboard exposes REST endpoints for managing the integration:| Endpoint | Method | Purpose |
|---|---|---|
/api/cursor/status | GET | Daemon + auth status |
/api/cursor/auth/auto-detect | POST | Import from SQLite |
/api/cursor/auth/import | POST | Manual token import |
/api/cursor/models | GET | List available models |
/api/cursor/daemon/start | POST | Start daemon |
/api/cursor/daemon/stop | POST | Stop daemon |
/api/cursor/settings | GET / PUT | Read/write config |
Troubleshooting
Auth fails — token not found
Auth fails — token not found
Ensure Cursor IDE has been launched and logged in at least once. The SQLite DB is only created after first login. On macOS/Linux, confirm
sqlite3 is installed and in PATH. Try ccs cursor auth --manual if auto-detect continues to fail.Daemon won't start
Daemon won't start
Check if port 20129 is in use:
lsof -i :20129. Change cursor.port in config.yaml if needed, then restart with ccs cursor start.Token expired
Token expired
Tokens expire every 24h. Re-run
ccs cursor auth to refresh credentials from your local Cursor installation.Windows support
Windows support
Auto-detect is not available on Windows. Use manual import:Find your token in Cursor’s developer tools or Keychain equivalent.
