Use a cheaper endpoint in Cursor & Claude Code

Change a base URL and a key, keep working. Here's the exact setup for Cursor (OpenAI-compatible) and Claude Code (native Anthropic Messages), the caveats nobody mentions, and a verify step.

Updated 2026-07-20

Cursor (OpenAI-compatible)#

  1. Open Cursor Settings → Models. Under API Keys, enable OpenAI API Key and paste your DaoXE key.
  2. Override the base URL. Turn on Override OpenAI Base URL and set it to https://daoxe.com/v1.
  3. Add exact model IDs. Under Model Names, add exact IDs from GET /v1/models. Guessed names fail silently.
  4. Verify & test. Click Verify (it sends one live request), then try a plain chat message.

Caveats worth knowing

Cursor still routes requests through Cursor's own servers even with a custom key (a privacy/latency consideration). Tab autocomplete and some Cursor-specific features may keep using Cursor's built-in models. The Models UI changes between versions — cross-check the client setup notes.

Claude Code (native Anthropic Messages)#

Claude Code speaks Anthropic Messages, not OpenAI chat. DaoXE exposes that protocol natively at /v1/messages, so tool use and streaming work. Set two environment variables — no proxy or router needed.

bash
# Claude Code reads the host ROOT; it appends /v1/messages itself
export ANTHROPIC_BASE_URL="https://daoxe.com"
export ANTHROPIC_AUTH_TOKEN="your_api_key"   # some builds read ANTHROPIC_API_KEY
# optional: pin exact catalog IDs from GET /v1/models
export ANTHROPIC_MODEL="paste_exact_model_id_here"
export ANTHROPIC_SMALL_FAST_MODEL="paste_small_model_id_here"

claude

Two traps

1) Base URL is the host root (https://daoxe.com), not .../v1 — Claude Code appends /v1/messages itself. 2) Auth header shape: some builds read ANTHROPIC_AUTH_TOKEN, others ANTHROPIC_API_KEY; export both if auth fails. Full walkthrough: Claude Code guide.

Prove the protocol with a raw request before touching Claude Code — if this fails, changing client settings won't help:

bash
curl --fail-with-body --show-error --silent \
  https://daoxe.com/v1/messages \
  -H "x-api-key: ${DAOXE_API_KEY}" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_EXACT_MODEL_ID",
    "max_tokens": 64,
    "messages": [{"role": "user", "content": "Reply with OK."}]
  }'

Other tools, same idea#

ToolWhere to set itValue
Cline / Roo CodeOpenAI Compatible providerhttps://daoxe.com/v1
AiderOPENAI_API_BASEhttps://daoxe.com/v1 + --model openai/<id>
ContinueapiBase in config.yamlhttps://daoxe.com/v1
LobeChat / Open WebUIOpenAI-compatible connectionhttps://daoxe.com/v1
More clients (Continue, Kilo, OpenCode, LibreChat…) in the client setup doc.

Verify you're not being downgraded#

Cheap relays sometimes serve a smaller model or truncate context — usually weeks in. Run a fixed probe set at temperature=0 and diff against the official API on a schedule. See how to detect model swapping and the open benchmark.

Frequently asked questions#

Will my existing Cursor setup break?

No — it's a base URL + key change you can revert anytime. Note that some Cursor features still use Cursor's built-in models.

Why does Claude Code use the host root, not /v1?

Claude Code builds the /v1/messages path itself, so ANTHROPIC_BASE_URL must be https://daoxe.com. Pointing it at .../v1 causes 404s.

ANTHROPIC_AUTH_TOKEN or ANTHROPIC_API_KEY?

It varies by Claude Code release. If one doesn't authenticate, export both to the same key.

Which models can I use?

Whatever your account exposes at GET /v1/models — GPT, Claude, Gemini, DeepSeek and more. Use exact IDs.

Try DaoXE — and benchmark it yourself

One key for GPT, Claude, Gemini, DeepSeek and more. Point the open benchmark at us and compare — don't take our word for it.