HTTP 401 超出256K上下文限制 - CC Switch & Codex
Quick fix
在 Codex 的 config.toml 中调低 AUTO COMPACT 触发阈值,避免请求体实际 Token 数超过上游 Kimi 的 256K 限制。
Symptom
Section titled “Symptom”unexpected status 401 Unauthorized: CC Switch local proxy failed while handling Codex endpoint /responses. Provider: Kimi; model: kimi-k2.7-code; upstream_status: HTTP 401; cause: k3-256k supports only 256K context., url: http://127.0.0.1:15721/v1/responses当 Codex 检测到上下文长度接近窗口上限(通常为 90%-95%)时,会自动向 /responses/compact 接口发送压缩请求。但在 cc-switch 3.18.0 中,该请求被直接透传至上游 Kimi 的 /chat/completions 接口,而该接口并不支持上下文压缩功能。一旦请求体中的实际 Token 数量(包含 system prompt、工具定义、MCP schema 及历史重建内容等)超过 Kimi 套餐允许的 256K 限制,上游便会直接返回 HTTP 401 错误。此外,Codex UI 显示的已使用比例仅为当前会话可见上下文的估算值,实际网络请求体积往往更大,导致压缩机制未能及时生效。
打开 Codex 配置文件,定位到自动压缩相关设置并调低触发阈值。
config.toml auto_compact_threshold = 200000检查 cc-switch 路由配置,确认映射到 Kimi 的模型名是否为标准的 k3 或 k3-coding 256K 档位,避免误用触发 1M 限制的别名。
若启用了 MCP 工具或会话历史同步,建议临时关闭非必要工具或新建空会话测试,以排除额外字段导致的 Token 超限。
查看 cc-switch 代理日志,核对实际发送给上游的 model 字段与请求体大小,验证调整后的效果。
Affected Versions
Section titled “Affected Versions”ToolCodex
Version3.18.0
PlatformsWindows
Source Issues
Section titled “Source Issues”本页汇总自 2 个真实 issue
- 为什么 UI 显示只用了 23% 就会报 401 错误?
- UI 仅统计当前对话窗口的文本 Token,但实际发往上游的请求还包含 system/developer prompt、工具定义、MCP schema、reasoning 字段及历史重建数据。这些隐藏开销会迅速消耗额度,导致实际请求体积远超 UI 显示值。
- cc-switch 为什么不自己处理 compact 请求?
- 当前版本 cc-switch 尚未内置对 /responses/compact 的本地解析与压缩逻辑,默认将其作为标准聊天请求转发给上游 LLM。上游接口不支持该操作且受限于套餐上下文上限,因此直接拒绝并返回 401。
- 升级 Kimi 套餐到 1M 能解决吗?
- 可以绕过此报错,但并非根本解决方案。建议优先通过降低 Codex 的自动压缩阈值来适配当前 256K 套餐,既能节省费用,又能保持请求稳定。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。