【Claude】Usage credits required for 1M context 报错已解决
【Claude】Usage credits required for 1M context 报错已解决
关键词:Claude Code、1M context、100万上下文、usage credits、扩展上下文、[1m] 模型、CLAUDE_CODE_DISABLE_1M_CONTEXT
一、问题现象:用着用着,上下文"升级"被拦截
你选了一个带[1m]后缀的模型(或者对话上下文自然增长超过了 200K Token),然后终端出现:
API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard context翻译:使用 1M(100 万 Token)上下文功能需要使用信用(Usage Credits),请运行/usage-credits开启,或用/model切回标准上下文窗口。
这个报错的特征:
- 出现在你主动选了
[1m]模型,或对话上下文意外超过 200K Token时; - 消息里有"Usage credits required"(需要使用信用);
- 提供了两条出路:开启 Usage Credits 或切回标准模型。
二、1M 上下文是什么,为什么要收费
2.1 标准上下文 vs 1M 上下文
| 上下文规格 | Token 容量 | 对应场景 |
|---|---|---|
| 标准上下文 | 约 200K Token | 绝大多数日常编码任务 |
| 1M 扩展上下文 | 约 100 万 Token | 分析整个代码仓库、处理超大文档 |
1M 上下文能让 Claude 一次性"看到"更多内容——整个项目的所有文件、多个长文档并排处理——非常适合大规模代码重构或知识库检索。但它对推理资源的消耗也大幅高于标准上下文,所以 Anthropic 不把它包含在所有计划的基础配额里。
2.2 哪些计划直接包含 1M 上下文
根据官方文档(请以 claude.com/pricing 最新说明为准):
- 部分高级计划直接包含 1M 上下文,无需额外付费;
- Pro / Max 等计划:1M 上下文变体需要通过使用信用(Usage Credits)的计量计费来启用;
- Team / Enterprise:由管理员控制是否开启。
2.3 这是权利检查,不是配额耗尽
这是很多人的误区:这个错误不是"额度用完了",而是"这项功能你还没开启"。即使你的会话额度、每周额度还有大把剩余,只要没有开启 1M 上下文的计量计费,它就会触发。
三、两种触发场景
场景一:主动选了[1m]模型
你在/model里手动选了claude-sonnet-4-6 [1m]或类似带[1m]后缀的模型,然后每次发请求都报这个错。
场景二:对话上下文超过 200K Token(自动触发)
你用的是普通模型,但对话跑着跑着,上下文积累超过了 200K Token 的阈值,Claude Code 试图自动切换到 1M 模式来容纳更多内容,触发了这个权利检查。
这里有一个重要的版本差异:
- v2.1.172 及以后:当对话中途触发这个错误(上下文超过 200K),Claude Code 会自动把对话压缩回标准上下文限制以下,并在之后把会话保持在标准限制内——无需你做任何操作,它自己处理好了;
- v2.1.172 之前的旧版本:错误会在每个后续请求(包括
/compact)上反复出现。如果你在旧版本上,运行/clear来恢复。
四、解决方案
方案一:切回标准上下文模型(最简单)
如果你不需要 1M 上下文,直接切回标准版:
/model在列表里选不带[1m]后缀的模型变体即可。标准 200K 上下文对绝大多数编码任务完全够用。
方案二:开启 Usage Credits 的计量计费
如果你确实需要 1M 上下文,通过使用信用开启:
/usage-credits- Pro / Max 用户:运行这个命令,按实际使用的扩展上下文计量计费;
- Team / Enterprise 用户:需要向组织管理员申请开启。
开启后,1M 模型变体正常使用,按超出标准上下文的部分计费。
方案三:升级版本(旧版用户)
如果你在用v2.1.172 之前的版本,且对话中途触发了这个错误并循环报错:
claude update更新到最新版本后,Claude Code 会自动处理"对话超过 200K 时的压缩",这个循环报错就消失了。
方案四:查找并清理"过时的 1M 模型 ID"
切回标准模型后如果错误仍然存在,说明某处还在强制设置 1M 模型 ID。按优先级检查以下位置:
--model命令行标志:看你启动 claude 的命令;ANTHROPIC_MODEL环境变量:env | grep ANTHROPIC_MODEL;.claude/settings.local.json里的model字段;- 项目的
.claude/settings.json里的model字段; - 全局
~/.claude/settings.json里的model字段。
找到对应[1m]的模型 ID,删除或改为标准别名(如sonnet、opus)。
方案五:从模型选择器中完全移除 1M 选项
如果你永远用不到 1M 上下文,可以让它从/model列表里彻底消失:
export CLAUDE_CODE_DISABLE_1M_CONTEXT=1写入~/.claude/settings.json的env块可以永久生效:
{ "env": { "CLAUDE_CODE_DISABLE_1M_CONTEXT": "1" } }五、验证与回归
- 切模型后测试:运行
/model确认当前模型无[1m]后缀,发一个普通请求,确认不再触发; - 开启 Usage Credits 后测试:选
[1m]模型发请求,确认正常返回; - 清理过时 ID 后:
/status确认当前活跃凭证和模型配置。
六、避坑与最佳实践
- ❌不要以为是额度耗尽:这是功能权利检查,剩多少额度都一样,要么开启计量计费,要么切回标准模型;
- ❌旧版本不要无脑
/compact:v2.1.172 前/compact也会触发,直接/clear; - ✅日常用标准模型:200K 对编码任务足够,1M 按需开,避免意外计费;
- ✅明确知道 1M 用途再开:整库分析、大文档处理才真的需要,普通任务没必要。
七、总结
Usage credits required for 1M context是1M 扩展上下文的权利检查,不是配额耗尽。
- 主动用了
[1m]模型 → 开启 Usage Credits 或切回标准; - 对话中途超过 200K 自动触发 → v2.1.172+ 自动压缩处理,旧版
/clear; - 切回标准后仍报错 → 按优先级查清所有可能设置了
[1m]ID 的地方; - 永久不用 1M →
CLAUDE_CODE_DISABLE_1M_CONTEXT=1。
参考:Claude Code 官方《错误参考》"使用限制"章节、官方扩展上下文文档、claude.com/pricing。
