Claude Code 空闲压缩(Idle compaction)是什么、怎么关闭(2026)

推荐链接(推广):数字严选大约 3 分钟ClaudeClaude CodeIdle compaction空闲压缩prompt cachingClaude Code新功能

一句话结论

空闲压缩是 Claude Code 为了省用量做的自动压缩。 超过 20 万 token 的对话在终端里闲置约 54 分钟,会在一小时提示缓存过期前先压缩,这样你回来发下一条消息时,不用把整段对话重新处理一遍。不想要的话,在 /config 里关掉 Idle compaction,或在 settings.json 里写 "idleCompaction": false。

阅读说明

官方信息查阅日期:2026-10-24。来源:Claude Code CHANGELOG(2.1.299、2.1.302)和官方文档 How Claude Code uses prompt caching。版本发布日期按 npm 发布记录(UTC):2.1.299 为 2026-10-14,2.1.302 为 2026-10-16,2.1.304 为 2026-10-19。

它做了什么

按 Claude Code 2.1.299 更新日志:

  • 只在终端里的会话生效;
  • 对话超过 20 万 token,闲置约 54 分钟时触发;
  • 目的是在一小时提示缓存过期之前压缩,避免下一条消息重新处理全部内容。

官方 prompt caching 文档的说法:长对话在使用一小时缓存期间闲置,Claude Code 可能在缓存过期前不久压缩它。

为什么要压缩

缓存过期后,下一条消息要把整个对话当作新内容重新处理,耗时更长、用量更多。压缩会丢掉一部分细节,换来更小的上下文。官方文档同时建议:与其等自动压缩,不如在任务告一段落时自己运行 /compact;想彻底放弃某条思路,用 /rewind 回到之前的轮次。

怎么关闭或调整

做法说明版本要求
/config 里的 Idle compaction 行关闭或重新打开;压缩后显示的提示也会告诉你怎么关2.1.302 起有这一行
settings.json 写 "idleCompaction": false关闭空闲压缩2.1.290 或以上
环境变量 CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS修改 20 万 token 的触发门槛2.1.290 或以上

常见问题

回来发现对话被压缩了,之前的细节还在吗?

压缩会把对话缩成摘要,部分细节可能不再保留。重要的约定写进 CLAUDE.md 更稳妥。

恢复很久没动的旧对话,会提示很耗额度?

是的,这是 2.1.304 加的提醒:Pro 和 Max 套餐恢复一个不活跃的对话、会用掉 5 小时额度中明显的一部分时,会让你选择继续恢复,或新开对话(提到旧对话时 Claude 可以去查)。

相关阅读

参考来源(官方)

上次编辑于:
贡献者: Masoooon