Overview
Point your coding tools at LuluTokens — which wire format each one speaks, and what to configure.
Every tool below talks to the same gateway; they differ only in which wire format they use and where they keep their config. Pick your tool:
Codex
OpenAI Codex CLI — Responses API, ~/.codex/config.toml
VS Code
Cline, Roo Code, Continue — OpenAI-compatible provider
opencode
opencode.json custom provider
Claude Code
Anthropic Messages API via environment variables
Cursor
Settings → Models → override the OpenAI base URL
What each tool needs
| Tool | Base URL | Wire format | Configured in |
|---|---|---|---|
| Codex | https://api.lulutokens.ai/v1 | /v1/responses | ~/.codex/config.toml |
| VS Code extensions | https://api.lulutokens.ai/v1 | /v1/chat/completions | Extension settings |
| opencode | https://api.lulutokens.ai/v1 | /v1/chat/completions | opencode.json |
| Claude Code | https://api.lulutokens.ai | /v1/messages | Environment variables |
| Cursor | https://api.lulutokens.ai/v1 | /v1/chat/completions | Settings → Models |
Claude Code is the odd one out: its base URL has no /v1 suffix, because the
Anthropic client appends /v1/messages itself. Every other tool wants the /v1
included.
Before you start
-
Create a key in the console.
-
Export it once, so no tool config contains a literal secret:
export LULUTOKENS_API_KEY="sk-..." -
Confirm the key works before touching any tool config — this rules out half the problems people hit below:
curl https://api.lulutokens.ai/v1/models \ -H "Authorization: Bearer $LULUTOKENS_API_KEY"
Troubleshooting
The key is missing, revoked, or the tool sent it in the wrong header. Re-run the
curl check above with the same key. If curl works and the tool does not, the
tool is reading a different environment variable than you exported.
You hit a path the API domain does not expose. Only the relay paths listed in the
Quickstart are routed — everything else is a 404 by design. The two
common causes are a base URL missing /v1, or a client trying to call an
endpoint we do not relay (embeddings, images, audio).
Most tools validate the model ID against their own hardcoded list, not against
ours. Where a tool offers a "custom model" field, use it, and paste the exact ID
from /v1/models.
Some clients disable streaming when they cannot detect the provider. Turn streaming back on in the tool's settings — the gateway streams for every model that supports it.