End-to-end wiring: Claude Code and Cursor call your local (or LAN) Auxot instead of hitting Anthropic/OpenAI APIs directly. Requests still go through Auxot’s normal routing (GPU → CLI → cloud per provider order).
Note — Port in the examples. Examples below use
8420. If your instance listens on 8080 (e.g. get.auxot.com docker-compose), substitute accordingly—match whatever host/port serves the Auxot UI.
Prerequisites
- Auxot Server reachable from the machine where you run Claude Code / Cursor (Quickstart if you are bootstrapping).
- Web UI loads; use that host:port in the URLs below (
localhost→ hostname/IP when Auxot is on another host). - At least one inference provider online (CLI, GPU, or cloud)—otherwise calls authenticate but fail upstream.
- A personal or team API key from Settings → API Keys in Auxot Server (Part 1); plaintext shown once at creation.
Paths (no trailing slash on origin):
| Use | Path |
|---|---|
OpenAI-compatible (Cursor, openai SDK) | http://<host>:<port>/api/openai |
Anthropic-compatible (Claude Code, anthropic SDK) | http://<host>:<port>/api/anthropic/v1 |
Part 1: API key
Auxot Server accepts two kinds of API keys: personal and team. Both are created in the settings UI and presented as a Bearer token on each request.
Settings → API Keys
- Sign in to Auxot Server.
- Go to Settings → API Keys.
- Under Personal API Keys, click New Key, give it a name, and copy the plaintext value. It is shown once and not stored in full — keep it somewhere safe.
Team API keys appear on the same page on Business and Enterprise plans. Pick a team, create a key, copy it once. Use a team key when the request should be attributed to a team (shared CI pipelines, integrations) rather than to a specific user.
Do not ask an agent in chat to generate a key — the key would appear in the conversation history.
REST API (optional)
Keys can also be created programmatically. See API overview → Authentication for endpoints and headers.
Part 2: Claude Code (Terminal)
Claude Code speaks the Anthropic Messages API. Auxot exposes a compatible endpoint; you only change base URL and API key so the CLI talks to Auxot first.
Step 1 — Install Claude Code
On the machine where you run claude:
npm install -g @anthropic-ai/claude-code
Step 2 — Choose your Auxot base URL
Examples:
| Where Auxot runs | Typical Anthropic base URL for env vars |
|---|---|
| Same machine, default port | http://localhost:8420/api/anthropic/v1 |
| Another computer on your LAN | http://192.168.1.50:8420/api/anthropic/v1 |
The path must end with /api/anthropic/v1 (Auxot implements the Messages API under that prefix).
Step 3 — Set environment variables
In the same terminal session where you will run claude:
export ANTHROPIC_BASE_URL=http://localhost:8420/api/anthropic/v1
export ANTHROPIC_API_KEY=<user.xxx or team.xxx>
ANTHROPIC_API_KEYis your Auxot key, not your personal Anthropic console key. Auxot’s router may still call Anthropic (or other providers) on the backend depending on your setup.- Use
x-api-keystyle clients only if your wrapper requires it; the CLI uses the variables above. See Anthropic-compatible API for header options.
Step 4 — Persist env vars
Shell profile, direnv, or whatever you use for local secrets; new shell session to pick up changes.
Step 5 — Verify
claude
Smoke-test with a short prompt. Typical failures: connection refused (bind/firewall/host), 401 (key), upstream/model errors (no provider). Reference: Anthropic-compatible API. Server-side Claude as a provider (not this client setup): CLI Workers.
Part 3: Cursor (Editor)
Cursor can use an OpenAI-compatible endpoint. Auxot implements chat completions at /api/openai/chat/completions, so you point Cursor’s OpenAI integration at Auxot.
Step 1 — Cursor settings
Settings → Models → OpenAI: set OpenAI API Key (your Auxot key—the same Bearer token as in curl) and Override OpenAI Base URL (labels vary slightly by Cursor version, e.g. “when using key”).
Step 2 — Override base URL
http://localhost:8420/api/openai
Host/port as appropriate. Do not append /chat/completions to the base URL.
Step 3 — Model
Pick a model id your stack exposes, or auto (OpenAI-compatible API).
Step 4 — Debug
If Cursor fails but Auxot is up: check server logs, try HTTP/1.1 under network/HTTP compatibility settings for local TLS quirks, and bisect with curl:
curl (from a host that can reach Auxot):
curl http://localhost:8420/api/openai/chat/completions \
-H "Authorization: Bearer <user.xxx or team.xxx>" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Say hello in one sentence."}]}'
curl succeeding while Cursor fails usually points at Cursor config or HTTP/2/TLS behavior, not Auxot routing.
Part 4: Security (local / LAN)
Bearer key + reachable port ⇒ anyone on the network path can spend your quota. Don’t commit secrets. Production: TLS (Configuration), network policy—Security.
Related Docs
- Quickstart — install Auxot and first provider
- OpenAI-compatible API — Cursor / SDKs
- Anthropic-compatible API — Claude Code / Anthropic SDKs
- CLI Workers — Claude Code as a provider inside Auxot (server-side), distinct from this client guide