很多小伙伴在用 Claude Code 接入 Kimi k3 模型 时,都会遇到这条经典报错:
"k3" is not a model this version of Claude Code recognizes, so auto-compact will keep this session within 200k tokens
简单来说就是:当前版本 Claude Code 没有内置 k3 模型配置,工具无法识别该模型的真实上下文窗口大小,为了稳妥起见,强制把会话上限锁定在 20 万 token。
这会直接导致长文本、长代码项目、多文件复盘场景下,对话被自动压缩、历史上下文丢失、回答不完整。
下面整理 4 套可直接复制的修复方案,从临时应急到永久根治,按需选用,彻底解除 200k 上下文限制。
一、报错核心原因
Claude Code 本地内置了官方模型白名单,仅识别 Claude 系列官方模型。而 Kimi k3 属于第三方兼容模型,不在内置清单内。
工具无法读取其最大上下文窗口,因此触发保守策略:
- 默认上限:200k tokens
- 超长会话自动触发auto-compact 自动压缩
正确模型名写法:
k3[1m]
优势:即时生效、零配置、适合临时调试
缺点:新开会话需要重新填写,无法永久生效
方案2:环境变量全局指定真实上下文(通用稳定)
通过环境变量直接覆盖默认上下文上限,手动指定 k3 真实窗口大小。
Mac / Linux 终端临时生效:
export CLAUDE_CODE_MAX_CONTEXT_TOKENS=1000000
Windows PowerShell 临时生效:
$env:CLAUDE_CODE_MAX_CONTEXT_TOKENS="1000000"
想要永久生效,可将上述命令写入系统环境变量配置文件,重启终端即可长期生效。
方案3:永久模型映射(长期使用 k3 首选)
修改 Claude Code 配置文件 modelOverrides,把 k3 模型和上下文参数永久注册到工具中,彻底消除报错。
配置模板(直接覆盖即可):
{
"modelOverrides": {
"k3": {
"maxContextTokens": 1000000
}
}
}
生效后:工具可正常识别 k3 模型,不再触发 200k 限制,不会自动压缩会话。
方案4:关闭客户端强制限制(交由API判断)
关闭本地窗口强制校验,恢复旧版逻辑:由后端 API 返回真实上下文上限,客户端不主动压缩。
环境变量配置:
export CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1
⚠️ 风险提示:
客户端不再做前置拦截,超长会话可能直接触发后端 API 报错,适合熟悉接口阈值的进阶用户使用。
三、最佳使用建议
- 临时调试、快速测试:用方案1(k3[1m])
- 日常稳定使用:方案2 + 方案3 组合,永久根治问题
- 进阶自定义:按需开启方案4,适配自定义兼容模型
四、总结
这条报错本质不是模型不可用,而是 Claude Code 内置模型库不兼容第三方 k3,导致默认锁死 200k 上下文。无需重装工具、无需更换模型,通过后缀声明、环境变量、配置映射三种常规方式,即可完整释放 k3 百万级超长上下文能力,彻底解决会话压缩、上下文丢失问题。
后续接入各类第三方兼容模型,遇到未知模型上下文报错,均可套用这套通用解决方案。