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 可以去查)。
相关阅读
参考来源(官方)
- Claude Code CHANGELOG(2.1.299、2.1.302、2.1.304):https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md(查阅日期:2026-10-24)
- Claude Code Docs · How Claude Code uses prompt caching:https://code.claude.com/docs/en/prompt-caching(查阅日期:2026-10-24)
- npm · @anthropic-ai/claude-code 版本发布记录:https://www.npmjs.com/package/@anthropic-ai/claude-code(查阅日期:2026-10-24)