Claude Code Manual
凭证与接入 XAI Router
Claude Code 支持多种登录方式。接入 XAI Router 只需要两个环境变量:API 地址和你的 Key。
三种凭证
| 方式 | 怎么用 | 谁来计费 |
|---|---|---|
| Claude 订阅账号 | 启动后按提示在浏览器登录,或运行 /login | 你的 Claude 订阅 |
| Anthropic API Key | 环境变量 ANTHROPIC_API_KEY | Anthropic Console 账户 |
| API 网关凭证 | 环境变量 ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN | 网关账户,例如 XAI Router |
同时存在多种凭证时,Claude Code 按固定顺序选择:ANTHROPIC_AUTH_TOKEN 优先于 ANTHROPIC_API_KEY,两者都优先于浏览器登录的订阅账号。
两个容易踩的坑:
- 只设置
ANTHROPIC_BASE_URL、不设置凭证:如果你之前登录过订阅账号,请求会经过新地址,但仍然使用订阅账号计费。接入 XAI Router 时两个变量都要设置。 - 残留的旧变量:以前设置过
ANTHROPIC_API_KEY,现在又设置了ANTHROPIC_AUTH_TOKEN,生效的是后者。排查问题时记得检查有没有残留的变量。
获取 Key
在 m.xairouter.com 注册账号,系统会把 API Key 发到注册邮箱。Key 等同于你的钱包,不要截图、外发或提交到代码仓库。
方式一:环境变量
适合你已经习惯用环境变量管理 Key 的情况。
macOS / Linux(zsh 写入 ~/.zshrc,bash 写入 ~/.bashrc):
echo 'export ANTHROPIC_BASE_URL="https://api.xairouter.com"' >> ~/.zshrc
echo 'export ANTHROPIC_AUTH_TOKEN="sk-你的Key"' >> ~/.zshrcWindows(PowerShell):
setx ANTHROPIC_BASE_URL "https://api.xairouter.com"
setx ANTHROPIC_AUTH_TOKEN "sk-你的Key"设置后重新打开终端。检查 Key 的长度(不会把 Key 显示出来):
echo ${#ANTHROPIC_AUTH_TOKEN}$env:ANTHROPIC_AUTH_TOKEN.Length方式二:settings.json
把变量写进 Claude Code 自己的配置文件 ~/.claude/settings.json(Windows 为 %USERPROFILE%\.claude\settings.json)的 env 中,只对 Claude Code 生效,也不受终端类型影响:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.xairouter.com",
"ANTHROPIC_AUTH_TOKEN": "sk-你的Key"
},
"permissions": {
"defaultMode": "default"
}
}permissions.defaultMode 让每次会话都从“手动审批”模式开始,原因见权限与安全。
这个文件里有明文 Key:只在个人电脑上这样做,不要把它分享出去,也不要把含 Key 的配置放进项目仓库的 .claude/settings.json。
验证
claude设置了 ANTHROPIC_AUTH_TOKEN 后,Claude Code 不会再要求浏览器登录。进入后输入 /status,确认登录方式和 API 地址;再随便问一句,比如“你好,用一句话介绍你自己”,能正常回复即接入成功。
选择模型
- 会话中输入
/model,从列表里选择。 - 启动时指定:
claude --model claude-sonnet-5-5。 - 用环境变量
ANTHROPIC_MODEL设置默认模型;--model和/model的优先级比它高。
XAI Router 上可用的 Claude 模型见模型页,例如 claude-opus-5-5、claude-sonnet-5-5、claude-haiku-4-5。
网络受限时
如果你的网络访问 Anthropic 官方服务不稳定,可以设置 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1,关闭自动更新、遥测、错误上报等非必要的网络请求,只保留模型调用。代价是不会再自动更新,需要定期手动运行 claude update。
公司网络需要代理时,设置 HTTPS_PROXY;如果代理使用公司自签的证书,再设置 NODE_EXTRA_CA_CERTS 指向证书文件。