跳到主要内容

CC-018:登录过官网后 API Key 失效,无法使用中转服务

字段内容
影响组件Claude Code 本体
发现版本不限版本
系统环境Linux(CentOS / Ubuntu 高发)/ macOS
解决人🐻(QQ:2305401331)
发现日期2026-03-14

问题现象

曾在终端执行过claude并通过官网完成了 OAuth 登录(浏览器跳转授权),之后切换到中转 API 时,Claude Code 忽略配置的 API Key,持续使用 OAuth 令牌向官方端点请求,表现为:

  • 401 / 认证失败
  • 请求绕过中转直连api.anthropic.com
  • 修改settings.json或环境变量后仍无效

在服务器环境(CentOS / Ubuntu)下尤为常见,因为初次配置时容易误触 OAuth 流程。


根因分析

用户执行 claude,触发 OAuth 登录流程
→ ~/.claude.json 中写入 OAuth 令牌(primaryApiKey / oauthToken)
→ OAuth 令牌优先级高于 settings.json 中的 ANTHROPIC_API_KEY
→ Claude Code 始终使用 OAuth 令牌请求官方端点
→ 中转 API Key 配置被完全忽略
→ 401 / 连接失败

修复步骤

第一步:退出 OAuth 登录

claude auth logout

执行后终端提示登出成功。

第二步:写入中转 API 配置

方式一(推荐):直接覆盖~/.claude/settings.json

cat > ~/.claude/settings.json << 'EOF'
{
"env": {
"ANTHROPIC_API_KEY": "sk-你的API密钥",
"ANTHROPIC_BASE_URL": "https://duoapi.zeabur.app"
}
}
EOF

方式二:用命令行设置

claude config set apiKey sk-你的API密钥

第三步:验证配置写入成功

cat ~/.claude/settings.json

确认输出中ANTHROPIC_API_KEYANTHROPIC_BASE_URL字段正确。

第四步:重新启动 Claude Code

claude

正常进入交互界面即修复成功。


预防措施

做法避免的问题
服务器环境初次运行claude前先写好settings.json,避免触发 OAuth 流程OAuth 令牌写入后覆盖 API Key 配置
切换到中转 API 时先执行claude auth logout清除 OAuth 状态残留 OAuth 令牌静默覆盖新配置
配置完成后用cat ~/.claude/settings.json确认字段正确写入失败但误以为配置已生效