Skip to content

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

ItemRequirement
Claude Code≥ 1.0.0
Node.js≥ 18 (only when installing via npm)
WRouterA 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 --version

Configure

Claude Code reads four environment variables:

VariableRequiredPurpose
ANTHROPIC_BASE_URLWRouter's Anthropic-compatible endpoint
ANTHROPIC_AUTH_TOKENWRouter sk- token
ANTHROPIC_MODELDefault chat model
ANTHROPIC_SMALL_FAST_MODELSmall/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, not ANTHROPIC_API_KEY. The latter is reserved for Anthropic's first-party login flow.

Verify

bash
claude

Run /status:

Model:        claude-sonnet-4-6
Endpoint:     https://wrouter.ai
Status:       ✓ Connected

Smoke test:

> List files in the current directory

Claude Code should call the LS tool and print the directory.

ModelWhenNotes
claude-sonnet-4-6Daily driverSpeed + quality balance, set as ANTHROPIC_MODEL
claude-fable-5Hardest problems, flagship qualityAnthropic's latest top-tier model
claude-opus-4-8Heavy refactors, deep reasoningHigher cost — switch on demand
claude-haiku-4-5Summaries, naming, completionSet as ANTHROPIC_SMALL_FAST_MODEL to cut spend
gpt-5.5 / gpt-5.4Cross-model comparison/model gpt-5.5 for a one-off switch

In-session switch:

/model claude-opus-4-8
/model gpt-5.5

Advanced: 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

SymptomLikely causeFix
401 UnauthorizedWrong / disabled / unset tokenecho $ANTHROPIC_AUTH_TOKEN to verify
Endpoint: https://api.anthropic.comEnv var didn't takeNew shell; check ~/.claude/settings.json isn't overriding
Model not foundToken's group doesn't include that modelCheck https://wrouter.ai/models
Long hangs / 502Upstream throttling / timeoutSwitch to claude-haiku-4-5; check console latency
/status shows DisconnectedNetwork / TLSTry 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).
  • /login is 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.