CC-016:无效令牌(曾购买过第三方服务后切换)
问题现象
曾使用过其他第三方中转服务,切换到新服务后,Claude Code 持续返回:
API Error: 401 {"error":{"type":"authentication_error","message":"invalid x-api-key"}}新配置已正确填写,但错误依旧。
根因分析
旧服务遗留了系统环境变量
→ ANTHROPIC_BASE_URL 指向旧服务地址
→ ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN 保存旧令牌
→ 环境变量优先级高于配置文件
→ Claude Code 忽略新配置,向旧端点发送旧令牌
→ 旧端点拒绝 → 401 认证失败修复步骤
Windows 用户
第一步:打开环境变量编辑器
按 Win + R,输入 sysdm.cpl,回车。点击「高级」选项卡 → 「环境变量」。
也可以在任务栏搜索「环境变量」直接打开。
第二步:分别在「用户变量」和「系统变量」中核对以下三个变量
ANTHROPIC_BASE_URL
ANTHROPIC_API_KEY
ANTHROPIC_AUTH_TOKEN第三步:保存退出,重新打开 cmd 或 PowerShell
claude只删除明确属于旧服务的值;先导出或截图变量名(遮盖值)用于回滚。不要删除整个 ~/.claude、~/.claude.json 或组织管理配置。
macOS / Linux 用户
第一步:编辑 Shell 配置文件
# zsh 用户
vi ~/.zshrc
# bash 用户
vi ~/.bashrc第二步:找到并删除以下三行(有几行删几行)
export ANTHROPIC_BASE_URL=...
export ANTHROPIC_API_KEY=...
export ANTHROPIC_AUTH_TOKEN=...第三步:使配置生效
source ~/.zshrc # 或 source ~/.bashrc第四步:重新打开终端,启动 Claude Code
claude预防措施
| 做法 | 避免的问题 |
|---|---|
| 切换服务时优先检查并清理旧环境变量 | 旧变量静默覆盖新配置导致认证失败 |
用 /status 与 claude doctor 检查活动配置源 | 多处配置冲突难以定位 |
| 切换后核对 Base URL 并发起不含敏感数据的测试请求 | claude --version 只能验证安装版本,不能验证 API 连通性 |
官方当前变量名是 ANTHROPIC_API_KEY(X-Api-Key)和 ANTHROPIC_AUTH_TOKEN(Bearer)。旧文中的 ANTHROPIC_API_TOKEN 未出现在本次官方变量表中,已移除。
资料来源:Claude Code 环境变量参考 · 配置诊断(2026-07-26 核对)