跳转到内容

Input length exceeds model's maximum context length - Claude Code

Quick fix

在 provider 配置中添加 CLAUDE_CODE_AUTO_COMPACT_WINDOW 环境变量以限制上下文窗口。

报错原文
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 内部的自动压缩机制,当上下文接近设定值时自动进行压缩,从而避免超出限制。需要注意的是,如果使用了通用配置,该环境变量可能会被错误地提取并应用到所有供应商,建议仅在特定供应商配置中设置。

  1. 打开 cc-switch 的提供商配置文件,找到对应的 Claude Code 提供商配置项。

  2. 在提供商配置的 'env' 字段中添加 'CLAUDE_CODE_AUTO_COMPACT_WINDOW',将其值设置为略小于模型最大上下文长度的数值(例如 100000)。

    {
    "providers": {
    "your-provider-name": {
    "type": "claude",
    "env": {
    "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "100000"
    }
    }
    }
    }
ToolClaude Code
Version未知
PlatformsWindows
为什么我设置了不同模型的压缩阈值,勾选通用配置后失效了?
这是 cc-switch 的一个已知行为问题(Issue #5401)。通用配置会自动抽取环境变量属性并覆盖特定供应商的配置。目前建议不要在通用配置中设置 CLAUDE_CODE_AUTO_COMPACT_WINDOW,而是仅在需要该特性的特定供应商配置中单独设置。
这个报错是服务器端的问题吗?
虽然报错信息提示 'server-side issue',但这通常是因为输入数据超出了模型允许的最大上下文窗口。通过设置 CLAUDE_CODE_AUTO_COMPACT_WINDOW 启用客户端自动压缩即可解决,无需等待服务器修复。

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