闲置压缩:闲置约 54 分钟后自动给上下文瘦身
Anthropic 于 10 月 14 日发布 Claude Code 2.1.299,其中最值得留意的新功能是 idle compaction,即闲置压缩。当一次终端会话的上下文超过默认的 20 万 Token、且闲置约 54 分钟后,Claude Code 会在这条会话的 1 小时提示缓存到期之前,自动把历史对话压缩成一段更短的摘要。这样当你回到终端敲下一条消息时,模型处理的是压缩后的摘要,而不是把整段历史从头重算一遍。
两步配置:调阈值与彻底关闭
这个阈值可以按需调整。习惯更早触发压缩的团队,可以设置环境变量 CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS,把 20 万 Token 的门槛降下来;完全不需要这个行为的团队,则可以在 settings.json 里把 idleCompaction 写成 false 直接关掉。两个选项都需要 2.1.299 或更高版本。需要理解的是,压缩会把原对话历史替换成摘要,这会改变提示前缀、让对话层的缓存失效——它换取的是回到会话时不必重新处理整个上下文窗口的成本与延迟收益,而不是提升模型能力本身。因此在高频往返的编辑场景里,压缩带来的额外往返需要自己权衡。
同批更新的另外三个开关
同一版本还带来几个偏工程侧的改动。第一,插件开发者在 prompt.submit 钩子里可以读取附件图片与文档的原始字节,从而做多模态校验、预处理或日志记录。第二,插件评测命令 claude plugin eval 新增 disallow 工具参数,评测用例也可以声明禁止使用的工具字段,便于在测试时屏蔽 Agent 这类内置工具,减少工具可用性对结果的干扰。第三,设置环境变量 CLAUDE_CODE_DISABLE_FILE_MENTIONS 之后,@ 文件引用不再把文件内容整块注入提示,而只传路径,由模型自己按需读取——省 Token 的代价是多一次往返读取。
闲置压缩解决的是很具体的一笔账:长会话在缓存即将过期的窗口里被重新处理,既费钱也费时间。
2.1.299 共包含约 190 项 CLI 改动,集中在内存泄漏修复、沙箱化命令处理、远程会话稳定性与 MCP 服务器行为上,其中一类修复针对的是调试日志在磁盘或网络挂载卡住时导致的退出挂起。紧随其后的 2.1.300 继续补齐周边能力,例如给 mod 的提示装饰加入 virtualText、新增按 agentId 展示某个智能体完整记录的主视图、以及在 AWS 上的 Claude Platform 启用 advisor 顾问模型。对日常使用者的建议很直接:把 Claude Code 升到 2.1.299 以上,然后根据自己是否常年挂着长会话,决定是调低压缩阈值还是一关了之。