Claude Code sends requests in the Anthropic Messages format (/v1/messages). Change the base URL and the key, and it works with everyais.
Connect
- Create an API key in the dashboard and add credits.
- In "Generate your config" above, pick your models and press Confirm. Only models that support tool calling are listed. Claude models also get a "Reasoning effort" choice.
- Paste the result into
~/.claude/settings.jsonand replaceeveryais_your_api_keywith your key. If the file already exists, merge in the same keys. - Restart Claude Code and check that your models are listed in
/model.
Keep the key in your user settings file (~/.claude/settings.json). A project's .claude/settings.json gets committed to the repository, which would publish the key.
Model order
Your picks fill Claude Code's model aliases in order.
| Pick | Slot |
|---|---|
| 1st | The default model and opus |
| 2nd | sonnet |
| 3rd | haiku, which also runs background work |
With fewer than three picks, earlier models fill the empty slots. Pick a fast, inexpensive model last.
Settings
| Key | What it does |
|---|---|
ANTHROPIC_BASE_URL | Sends requests to everyais. Claude Code appends /v1/messages itself, so leave /v1 off |
ANTHROPIC_AUTH_TOKEN | Your everyais key, sent as an Authorization: Bearer header and used ahead of a signed-in claude.ai account |
ANTHROPIC_DEFAULT_OPUS_MODEL · ANTHROPIC_DEFAULT_SONNET_MODEL · ANTHROPIC_DEFAULT_HAIKU_MODEL | The three slots above. If they are empty, Claude Code may request its own default model names and get 404 |
CLAUDE_CODE_MAX_OUTPUT_TOKENS | Maximum output tokens per request. It applies to every model, so it is the smallest output limit among your picks. It is left out if any pick's limit is unknown |
CLAUDE_CODE_MAX_CONTEXT_TOKENS | Context size for models that are not Claude. Without it, Claude Code assumes 200K tokens and compacts the conversation at that size. It does not apply to Claude models |
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS | Turns off request fields for experimental features. everyais does not accept some of them yet |
model | The default model when Claude Code starts |
modelPicker | The /model list. replaceBuiltInOptions: true shows your picks instead of Claude Code's built-in list. Applies only from the user settings file and needs Claude Code 2.1.242 or later |
modelSettings.<model>.effortLevel | Reasoning effort for a Claude model: low, medium, high, or xhigh. This key does not accept max. Inside Claude Code, change it with /effort |
You can also pass the key as ANTHROPIC_API_KEY. Claude Code then sends it as an x-api-key header and asks once whether to use it.
Note: Claude Code counts tokens with POST /v1/messages/count_tokens before each request. That call is free. Usage and spend are on the dashboard usage page.
Models that are not Claude
You can pick models such as Gemini or GPT. Claude Code builds its requests for Claude, so tool calls and the thinking display may look different. Confirm the connection with a Claude model first. Claude Code sends no reasoning effort to these models, so they answer at their default effort.
Anthropic SDK
The official Anthropic SDKs (Python and TypeScript) read these two environment variables, so your code stays the same.
export ANTHROPIC_BASE_URL="https://api.everyais.com"
export ANTHROPIC_API_KEY="everyais_your_api_key"Use everyais model IDs such as everyais/claude-sonnet-5-5. Supported parameters are listed in Messages.
Troubleshooting
| Symptom | What to check |
|---|---|
404 with /v1/v1 in the URL | Remove the trailing /v1 from the base URL |
| 401 | Check the key again, including stray spaces around it |
404 model_not_found | Check the model IDs and the key's allowed models. All three ANTHROPIC_DEFAULT_*_MODEL values must be set |
| 400 | Check that CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS is "1". If it persists, look at the field named in error.param |
| Requests still go to your claude.ai subscription | Save settings.json and fully restart Claude Code |