invalid_authentication_error 测试失败 HTTP 401 cc-switch
Quick fix
用量查询脚本的 {{apiKey}} 变量未被替换导致 401,升级 cc-switch 到最新版即可,临时可改用硬编码 Key。
Symptom
Section titled “Symptom”测试失败: HTTP 401 Unauthorized : {"error":{"message":"Invalid Authentication","type":"invalid_authentication_error"}}cc-switch 的自定义用量查询脚本支持用 {{apiKey}}、{{baseUrl}} 等变量占位,但在 v3.14.1 / v3.15.0 中变量解析存在缺陷:{{apiKey}} 没有被替换成真实 Key,导致请求带着未替换的占位符发给服务商(如 Kimi 的 api.moonshot.cn),服务端返回 401 invalid_authentication_error。用户验证过同一把 Key 用 curl 直接请求官方接口是成功的,且把 'Bearer {{apiKey}}' 改写字面量后测试即通过,证明 Key 本身有效,问题出在变量替换上。此外测试脚本路径和实际查询路径表现不一致——主页刷新能查到余额,但点“测试脚本”弹窗报 401。
注意本错误码还有另一种变体(issue #7990):在 Codex desktop app 的聚合模式下使用 kimi k3 256k 模型时报 上游错误 (400),其 error.type 同样显示为 invalid_authentication_error,但 message 实为 "Your request exceeded k3-256k model token limit: 262144"。经维护者实机测试,这是因为聚合模式默认供应商为 ChatGPT 官方登录时,Desktop 会带上应用连接器、插件、浏览器等一大批工具 schema,请求体很容易超过 40 万字节,与用量查询的变量替换 bug 是两个不同问题,仅错误 type 字段相同。
升级 cc-switch 到最新版本。维护者确认 v3.15.0 / v3.16.0 的提交已修复:用量查询脚本变量解析现在支持 {{apiKey}} / {{baseUrl}} 常见别名和带空格写法(如 {{ apiKey }}、{{api_key}}、{{base_url}}),且 isValid: false 会按无效结果处理,POST request.body 也支持 JSON 对象/数组。
如果暂时无法升级,临时绕过:在提取器代码中把 Authorization: 'Bearer {{apiKey}}' 改为字面量填写真实 API Key(可在“支持的变量”处点眼睛图标复制 Key 后替换 {{apiKey}}),用户验证改写后测试成功。
如果你的报错是 Codex desktop app 聚合模式下 kimi k3 256k 的 上游错误 (400) token limit 变体:维护者建议换用 Codex CLI 版本,或在 desktop app 中换用其他模型(直连模式、CLI 下聚合模式、以及 k3 非 256k 模型均不受影响)。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 3 个真实 issue
- 为什么把 {{apiKey}} 换成硬编码的 Key 就测试成功,用变量就 401?
- 因为旧版本的用量查询脚本没有把 {{apiKey}} 占位符替换成真实 Key,请求带着字面量占位符发给服务商导致认证失败。同一把 Key 用 curl 直接请求官方接口是成功的,证明 Key 本身有效。升级到最新版后变量解析已修复,支持 {{apiKey}}、{{ apiKey }}、{{api_key}} 等常见写法。
- 为什么点“测试脚本”弹窗报 401,但回主页刷新却能正常查到余额?
- 这是旧版本已知的另一处不一致:测试脚本路径和实际查询路径的变量解析表现不同。该问题已随变量解析修复一并处理,升级后两者行为一致;同时 isValid === false 会按失败处理并展示错误信息。
- 聚合模式下 kimi k3 256k 报 exceeded token limit,是不是误勾了 1m 上下文标记?
- 不是。Codex 没有 1m 上下文标记选项,且用户上下文按默认设置。维护者实机测试确认:聚合模式默认供应商是 ChatGPT 官方登录时,Desktop 会带上应用连接器、插件、浏览器等一大批工具 schema,请求体容易超过 40 万字节从而触发该报错,解决办法是换 CLI 版或者换模型。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。