跳转到内容

Claude Code /context 显示 200K 而非 1M - CC Switch Fix

Quick fix

在 Claude Code 里执行 /model claude-opus-4-8[1m] 手动切到带 [1m] 后缀的模型,或把 ~/.claude/settings.json 里的 ANTHROPIC_DEFAULT_OPUS_MODEL 改成 claude-opus-4-8[1m]。

报错原文
Claude Desktop声明了1M,在实际使用中只显示200K上下文窗口了

这不是供应商不支持 1M,而是 CC Switch 与 Claude Code/Claude Desktop 之间的「能力声明 → 可选模型」桥接断了。CC Switch 的数据库里虽然已经给 claude-opus-4-8 这条 route 写了 supports1m: true,但它只在 /v1/models 里返回裸模型名,没有合成带 [1m] 后缀的独立模型项(如 claude-opus-4-8[1m])。Claude Code/Claude Desktop 的模型选择器里因此看不到 Opus 4.8 1M,默认仍按普通 200K 模型管理上下文。

对于 DeepSeek 等第三方 provider,还有一个变体:DeepSeek 流式响应的 message_start.model 字段返回的是 deepseek-v4-pro,而 CC Switch 没有把它反向映射回 claude-opus-4-8。Claude Desktop 内部按模型名查窗口大小表,deepseek-v4-pro 不在表里,于是回退到默认 200K。Codex 场景下则是另一回事:Codex 把历史 reasoning_content 全量算进 Chat Completions 上下文,多轮对话后轻易突破 1M,直接报「发送给 DeepSeek 的消息长度超过了模型允许的最大上下文长度」。

  1. 在 Claude Code 当前会话里执行 /model claude-opus-4-8[1m],把模型切到带 [1m] 后缀的逻辑变体。切换后模型栏应显示 Opus 4.8 1M,上下文圆环分母变为 1M。

  2. 如果想让以后所有新会话默认走 1M,编辑 Claude Code 用户级配置 ~/.claude/settings.json(Windows 上是 C:\Users\<用户名>\.claude\settings.json),把 ANTHROPIC_DEFAULT_OPUS_MODEL 从裸模型名改成带 [1m] 后缀的形式。

    ~/.claude/settings.json
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-8"
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-8[1m]"
  3. 改完后重启 Claude Code/Claude Desktop,再开新会话,用 /context 或界面上的上下文圆环确认分母显示约 1M,而不是 200K。

ToolClaude Code / Claude Desktop / Codex
VersionCC Switch 3.16.1 - 3.19.2(3.16.1 之前据称正常,更新后开始出现)
PlatformsWindowsmacOS
为什么 Claude Desktop 里已经勾了 1M,Code 模式还是 200K?
Claude Desktop 3P 配置页的 1M 勾选只是声明这个 route 支持 1M,不会自动给 Claude Code 的模型选择器注入 claude-opus-4-8[1m] 这个逻辑模型项。Claude Code 必须实际选中带 [1m] 后缀的模型才会把上下文预算提到 1M,否则仍按 200K 管理。
Codex 用 DeepSeek 聊两轮就提示超过最大上下文长度,怎么办?
Codex 走 Responses API 时本来不把 reasoning 计入上下文,但 CC Switch 转换到 Chat Completions 格式后会把每轮的 reasoning_content 全量写回 assistant 消息。DeepSeek V4 Pro 这类推理模型单轮 thinking 可达 30K-80K tokens,几轮下来就爆 1M。目前 issue 中没有给出官方修复,社区建议改用 Anthropic 协议端接入,避免 reasoning 被重复记账。
有没有办法不改配置就让 CC Switch 自动显示 1M 模型?
目前 CC Switch 3.16.x-3.19.x 不会在 /v1/models 里自动合成 [1m] 后缀的模型 ID,这是已确认的缺陷。维护者在 #4525 中把问题归并到 #3003 集中跟踪,修复进展需关注该 issue。
手动切到 claude-opus-4-8[1m] 后,重启 Claude Code 又变回 200K 了?
手动 /model 切换只影响当前会话。新会话会继承 ~/.claude/settings.json 里的 ANTHROPIC_DEFAULT_OPUS_MODEL,如果那里还是裸 claude-opus-4-8,就会回到 200K。把配置改成 claude-opus-4-8[1m] 才能持久生效。
CC Switch 的模型映射开了以后,Codex 的 apply_patch 工具消失了,和这个问题有关吗?
这是同一 cluster 里的另一个变体:开启模型映射生成 model_catalog_json 后,Codex 认为这些模型不是官方 GPT 模型,于是不再下发 apply_patch 等内置工具。维护者在 #5947 中说明根因在 Codex 客户端或供应商一侧,CC Switch 无法从根本上修复,建议升级到 4.0 新版后再验证。

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