Claude Code
Claude Code is Anthropic's official CLI coding agent. With WRouter you can drive it with one key that also reaches GPT-5.5, Gemini and other non-Claude models.
Prerequisites
| Item | Requirement |
|---|---|
| Claude Code | ≥ 1.0.0 |
| Node.js | ≥ 18 (only when installing via npm) |
| WRouter | A working sk- token — see API Token management |
Install
bash
# macOS / Linux
curl -fsSL https://claude.ai/install.sh | bash
# Or via npm
npm i -g @anthropic-ai/claude-code
# Verify
claude --versionConfigure
Claude Code reads four environment variables:
| Variable | Required | Purpose |
|---|---|---|
ANTHROPIC_BASE_URL | ✓ | WRouter's Anthropic-compatible endpoint |
ANTHROPIC_AUTH_TOKEN | ✓ | WRouter sk- token |
ANTHROPIC_MODEL | Default chat model | |
ANTHROPIC_SMALL_FAST_MODEL | Small/fast secondary model |
macOS / Linux (zsh / bash)
Append to ~/.zshrc or ~/.bashrc:
bash
export ANTHROPIC_BASE_URL="https://wrouter.ai"
export ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
export ANTHROPIC_MODEL="claude-sonnet-4-6"
export ANTHROPIC_SMALL_FAST_MODEL="claude-haiku-4-5"source ~/.zshrc to apply.
Windows (PowerShell)
powershell
[Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "https://wrouter.ai", "User")
[Environment]::SetEnvironmentVariable("ANTHROPIC_AUTH_TOKEN", "sk-xxxx...", "User")
[Environment]::SetEnvironmentVariable("ANTHROPIC_MODEL", "claude-sonnet-4-6", "User")
[Environment]::SetEnvironmentVariable("ANTHROPIC_SMALL_FAST_MODEL", "claude-haiku-4-5", "User")Open a new shell for changes to take effect.
Settings file (cross-platform, version-controllable)
Edit ~/.claude/settings.json:
json
{
"env": {
"ANTHROPIC_BASE_URL": "https://wrouter.ai",
"ANTHROPIC_AUTH_TOKEN": "sk-xxxx...",
"ANTHROPIC_MODEL": "claude-sonnet-4-6",
"ANTHROPIC_SMALL_FAST_MODEL": "claude-haiku-4-5"
}
}Use
ANTHROPIC_AUTH_TOKEN, notANTHROPIC_API_KEY. The latter is reserved for Anthropic's first-party login flow.
Verify
bash
claudeRun /status:
Model: claude-sonnet-4-6
Endpoint: https://wrouter.ai
Status: ✓ ConnectedSmoke test:
> List files in the current directoryClaude Code should call the LS tool and print the directory.
Recommended models
| Model | When | Notes |
|---|---|---|
claude-sonnet-4-6 | Daily driver | Speed + quality balance, set as ANTHROPIC_MODEL |
claude-fable-5 | Hardest problems, flagship quality | Anthropic's latest top-tier model |
claude-opus-4-8 | Heavy refactors, deep reasoning | Higher cost — switch on demand |
claude-haiku-4-5 | Summaries, naming, completion | Set as ANTHROPIC_SMALL_FAST_MODEL to cut spend |
gpt-5.5 / gpt-5.4 | Cross-model comparison | /model gpt-5.5 for a one-off switch |
In-session switch:
/model claude-opus-4-8
/model gpt-5.5Advanced: profile isolation
settings.json doesn't support multiple credential sets. Use shell wrappers:
bash
# ~/.zshrc
claude-prod() {
ANTHROPIC_AUTH_TOKEN="sk-prod-xxx" claude "$@"
}
claude-dev() {
ANTHROPIC_AUTH_TOKEN="sk-dev-xxx" claude "$@"
}Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
401 Unauthorized | Wrong / disabled / unset token | echo $ANTHROPIC_AUTH_TOKEN to verify |
Endpoint: https://api.anthropic.com | Env var didn't take | New shell; check ~/.claude/settings.json isn't overriding |
Model not found | Token's group doesn't include that model | Check https://wrouter.ai/models |
| Long hangs / 502 | Upstream throttling / timeout | Switch to claude-haiku-4-5; check console latency |
/status shows Disconnected | Network / TLS | Try curl https://wrouter.ai/v1/models -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" |
Known limitations
- Claude Code's Plan Mode, Subagents, and Hooks may degrade when you switch to non-Claude models (e.g.
gpt-5.5). /loginis for the first-party Anthropic account only — WRouter users can ignore it.- Call logs show the raw Anthropic model name, matching what you pass to
/model.