Input length exceeds model's maximum context length - Claude Code
Quick fix
在 provider 配置中添加 CLAUDE_CODE_AUTO_COMPACT_WINDOW 环境变量以限制上下文窗口。
Symptom
Section titled “Symptom”API Error: 500 Input length (121079) exceeds model's maximum context length (120000). This is a server-side issue, usually temporary — try again in a moment. If it persists, check your inference gateway (127.0.0.1:15721).Claude Code 在处理长文本或图片时,输入长度超过了模型设定的最大上下文窗口(如 120k),导致服务端返回 500 错误。由于 Claude Code 本身没有提供直接配置 BYOK(自带密钥)后端真实上下文窗口的官方选项,cc-switch 无法自动按该阈值截断输入。
解决此问题的有效方法是通过 cc-switch 的高级配置功能,向 Claude Code 进程注入 `CLAUDE_CODE_AUTO_COMPACT_WINDOW` 环境变量。该变量会触发 Claude Code 内部的自动压缩机制,当上下文接近设定值时自动进行压缩,从而避免超出限制。需要注意的是,如果使用了通用配置,该环境变量可能会被错误地提取并应用到所有供应商,建议仅在特定供应商配置中设置。
打开 cc-switch 的提供商配置文件,找到对应的 Claude Code 提供商配置项。
在提供商配置的 'env' 字段中添加 'CLAUDE_CODE_AUTO_COMPACT_WINDOW',将其值设置为略小于模型最大上下文长度的数值(例如 100000)。
{"providers": {"your-provider-name": {"type": "claude","env": {"CLAUDE_CODE_AUTO_COMPACT_WINDOW": "100000"}}}}
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version未知
PlatformsWindows
Source Issues
Section titled “Source Issues”本页汇总自 2 个真实 issue
- 为什么我设置了不同模型的压缩阈值,勾选通用配置后失效了?
- 这是 cc-switch 的一个已知行为问题(Issue #5401)。通用配置会自动抽取环境变量属性并覆盖特定供应商的配置。目前建议不要在通用配置中设置 CLAUDE_CODE_AUTO_COMPACT_WINDOW,而是仅在需要该特性的特定供应商配置中单独设置。
- 这个报错是服务器端的问题吗?
- 虽然报错信息提示 'server-side issue',但这通常是因为输入数据超出了模型允许的最大上下文窗口。通过设置 CLAUDE_CODE_AUTO_COMPACT_WINDOW 启用客户端自动压缩即可解决,无需等待服务器修复。
is not a model this version of Claude Code设置环境变量 CLAUDE_CODE_MAX_CONTEXT_TOKENS 或在模型名后追加 [1m] 以指定正确的上下文窗口大小。The user sent an empty message.将 cc-switch 中 Kimi 的 API 格式改为 OpenAI chat completions 并开启代理,或导出历史记录重建会话以跳出空消息循环。config.toml 和auth.json的内容仍然是之前第三方的api的升级 CC Switch 到 v3.16.1+(建议最新),重启后重新切换 Codex 供应商;若官方 OAuth 失效,执行 codex logout 后重新 codex login --device-auth。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。