跳转到内容

Auth conflict: ANTHROPIC_AUTH_TOKEN 与 API key 冲突 - cc-switch

Quick fix

退出 Claude 官方登录、清理冲突的 ANTHROPIC_* 环境变量,并将 ~/.claude.json 的 hasCompletedOnboarding 设为 true 后重启终端。

报错原文
‼Auth conflict: Both a token (ANTHROPIC_AUTH_TOKEN) and an API key (/login managed key) are set. This may lead to
  unexpected behavior.
    • Trying to use ANTHROPIC_AUTH_TOKEN? claude /logout
    • Trying to use /login managed key? Unset the ANTHROPIC_AUTH_TOKEN environment variable.

当 cc-switch 向 Claude Code 注入 ANTHROPIC_AUTH_TOKEN(例如接入 glm、硅基流动、火山引擎等第三方 Anthropic 兼容服务)时,如果 Claude Code 同时保留了官方 /login 托管密钥、或系统环境变量/配置里同时存在 ANTHROPIC_AUTH_TOKEN 与 ANTHROPIC_API_KEY,就会触发认证冲突警告,导致 key 不生效、模型切换无效或请求异常。

该集群还混入两类相关但不同的现象:一是开启 cc-switch 本地代理后,配置会被改写为 ANTHROPIC_AUTH_TOKEN: "PROXY_MANAGED" 和 http://127.0.0.1 地址,/model 与状态栏插件可能只显示官方模型名,维护者说明这通常是后台映射的显示问题,应以实际请求记录为准;二是 Claude Code 触发 WebSearch 后非流式回退请求的 model 字段未被重写,上游返回 400 (1210),该问题被归并到 #3090。另有评论附带 cc_fix_v3.zip 恶意文件,已被标记为投毒,不应下载运行。

  1. 如果你要使用 cc-switch 配置的 ANTHROPIC_AUTH_TOKEN,先在 Claude Code 中执行 claude /logout,退出官方登录托管密钥。

  2. 检查系统环境变量与 shell 配置,移除冲突的 ANTHROPIC_AUTH_TOKEN、ANTHROPIC_API_KEY,确保只保留 cc-switch 当前需要的一组。

  3. 打开用户目录下的 Claude 配置文件,将 hasCompletedOnboarding 设为 true,然后重启终端。用户确认此方法可消除冲突警告。

    C:\Users\Administrator\.claude.json
    {
    "hasCompletedOnboarding": true
    }
  4. 确认 cc-switch 的 provider 配置只写入 Claude Code 支持的字段,例如使用 ANTHROPIC_AUTH_TOKEN、ANTHROPIC_BASE_URL、ANTHROPIC_MODEL;不要同时配置 API Key Helper 或重复的 API key 字段。

    cc-switch provider env 示例
    {
    "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-xxx",
    "ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic",
    "ANTHROPIC_MODEL": "glm-4.6",
    "ANTHROPIC_SMALL_FAST_MODEL": "glm-4.6"
    }
    }
  5. 如果开启本地代理后 /model 只显示官方模型名,但请求日志显示已转发到目标模型,这是代理映射的显示行为;若出现无法请求或 model 不存在,可尝试重新开关一次本地代理按钮。

  6. 不要下载或运行 issue 评论中的 cc_fix_v3.zip / cc_fix_v3.exe;该附件被标记为恶意投递,可能窃取本地 API Key。如已运行,请轮换所有相关密钥。

ToolClaude Code
Version未知
PlatformsWindows
我没有在系统环境变量里找到 ANTHROPIC_AUTH_TOKEN 或 ANTHROPIC_API_KEY,为什么还报冲突?
可能是 Claude Code 的 /login 托管密钥与 cc-switch 注入的 ANTHROPIC_AUTH_TOKEN 冲突,也可能是检测逻辑误报。可先执行 claude /logout,再删除或重置 ~/.claude.json 中的 hasCompletedOnboarding 为 true。
开启本地代理后 /model 看不到 glm-5 等自定义模型,是不是配置没生效?
不一定。维护者说明本地代理会在后台做模型映射,状态栏或 /model 可能仍显示官方模型名;应以代理请求日志为准。若确实无法请求,可尝试重新开关本地代理。
模型会不会因为代理而错认自己是 Claude?
会。模型身份主要由 Claude 的系统内置提示词决定,实际后端即使接的是 GLM 等模型,也可能按提示词回答自己是 Claude。身份无法通过 cc-switch 指定,请以实际请求记录为准。
Codex 的 API key 可以直接在 Claude Code 里用吗?
不可以。issue 中维护者回复 codex 的 API 不能直接在 Claude Code 里使用;如果供应商同时提供 Claude Code 与 Codex 两种转发服务,需要购买对应服务并咨询供应商。
评论里的 cc_fix_v3.zip 是官方修复脚本吗?
不是。该附件被标记为恶意投递,解压后是 .exe 可执行文件,可能读取 ~/.cc-switch/cc-switch.db、~/.claude/settings.json 中的明文 API Key。不要下载运行,并应举报该评论。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。