ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY 同时设置 cc-switch
Quick fix
打开 ~/.claude/settings.json,删除重复的 auth 环境变量,只保留当前供应商需要的 ANTHROPIC_AUTH_TOKEN 或 ANTHROPIC_API_KEY,保存后重启 Claude Code。
Symptom
Section titled “Symptom”Both ANTHROPIC_AUTH_TOKEN and ANTHROPIC_API_KEY set · auth may not work as expectedcc-switch 在不同供应商之间切换时,会向 `~/.claude/settings.json` 的 `env` 块写入认证字段;切换过程中可能残留上一次的认证字段,导致 #4919 中从 DeepSeek/MiMo 切到 Codex 后 `ANTHROPIC_API_KEY` 与 `ANTHROPIC_AUTH_TOKEN` 同时存在,Claude Code 输出 `Both ANTHROPIC_AUTH_TOKEN and ANTHROPIC_API_KEY set · auth may not work as expected`。该问题已报告于 3.15.0(#3455)、3.16.4(#4715)和 3.16.5(#4919);#4919 的报告者提到即使出现警告仍能终端对话,说明该警告不一定立即中断会话,但认证行为已进入不可预期路径。 同一类环境变量处理还有其他变体:DeepSeek 用量查询读取 `env.ANTHROPIC_AUTH_TOKEN || env.ANTHROPIC_API_KEY` 时保存的 key 仍可能读不到,提示 `API key is empty`(#2986,维护者称与 v3.16.0/v3.16.1 已修复的一组问题重合,但未单独确认该表现);本地路由模式启用 DeepSeek/GLM 时,`settings.json` 中只有 `ANTHROPIC_DEFAULT_FABLE_MODEL` 被替换,Haiku/Opus/Sonnet 仍保留旧值(#4715);也有用户按手动创建 `settings.json` 写入 `ANTHROPIC_AUTH_TOKEN`/`ANTHROPIC_BASE_URL` 后仍超时(#3455)。这些说明同一文件的环境变量注入在不同环境、不同供应商组合下表现不一致。
备份并打开 `~/.claude/settings.json`(Windows 下对应 `C:\Users\<用户名>\.claude\settings.json`)。
~/.claude/settings.json {"env": {"ANTHROPIC_AUTH_TOKEN": "PROXY_MANAGED","ANTHROPIC_BASE_URL": "http://127.0.0.1:15721"}}检查 `env` 块;如果 `ANTHROPIC_AUTH_TOKEN` 和 `ANTHROPIC_API_KEY` 同时存在,删除当前供应商不需要的那个:使用 DeepSeek/MiMo 等 Anthropic 兼容中转时保留 `ANTHROPIC_AUTH_TOKEN`,Codex 按认证方式保留 `ANTHROPIC_API_KEY`。
保存后重启 Claude Code 或重新切换供应商,确认 `Both ANTHROPIC_AUTH_TOKEN and ANTHROPIC_API_KEY set · auth may not work as expected` 消失;若余额查询仍提示 `API key is empty`,请升级到 v3.16.1 或更新版本后重新验证。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 4 个真实 issue
- 这个问题有临时解决办法吗?
- 可以手动编辑 `~/.claude/settings.json`,在 `env` 中只保留一个认证字段(`ANTHROPIC_AUTH_TOKEN` 或 `ANTHROPIC_API_KEY`),删除另一个后重启。
- 同时存在两个 auth 变量会影响实际对话吗?
- 在 #4919 中报告者仍能正常对话,但 Claude Code 会给出 `auth may not work as expected` 警告,认证行为不再符合预期;建议保持只留一个。
- 为什么按手动创建 settings.json 的方法改完仍然超时?
- #3455 中有用户反馈该方案无效;这可能是环境差异或分开关未生效,需确认只保留当前供应商需要的变量,并升级到 v3.16.1+ 后重新验证。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。