# Claude Code同日连更两版，空闲压缩来了！20万token不再整段重算

来源: https://hajimi.yun/blog/claude-code-ships-idle-compaction

10月14日Claude Code连更两版，超20万token的空闲会话会在缓存到期前先压缩。

会话放在一边，大约五十四分钟后再回来，一小时提示缓存正好要过期。下一条消息如果把二十万 token 再整段送一遍，时间和钱都是白烧！

 写代码的人最熟这种空档。编译在跑，评审还没回，人去看另一份 diff。对话本身没断，上下文却已经堆过二十万。缓存按一小时计。人还没回来，缓存先到期。回来的第一条消息，等于把这场长会话再啃一遍。

 10月14日，Anthropic 的 Claude Code 官方更新日志同一天挂出 2.1.299 和 2.1.300。这一轮的骨头不是新模型，是把长会话、内存、启动和请求体积收了一遍。空闲压缩是其中最硬的一条！两版不要混着记：压缩门槛、PDF 字节、调试内存和 VS Code 抢跑，写在 2.1.299；大请求 gzip、后台命令和退出时的强制结束，写在 2.1.300。

 终端里，一场超过 20 万 token 的对话，如果空闲大约 54 分钟，会在一小时提示缓存到期之前先被压缩。官方写的目的很直：下一条消息不必把整段对话重新处理一遍。门槛可以改。环境变量 CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS 调整默认的 20 万 token 下限。 settings.json 里写上 "idleCompaction": false 就关掉。日志写明，这两项都要 2.1.290 或更新的版本。

 同一天还补了一处压缩翻车。走自定义 ANTHROPIC_BASE_URL 、模型名又是网关专用的会话，临近 20 万 token 时，以前会停在 “Prompt is too long · automatic compaction failed”，请求根本发不出去。2.1.299 把这条修了。

 哈基米科技

 上下文也少塞了一截原文。

 2.1.299 加上环境变量 CLAUDE_CODE_DISABLE_FILE_MENTIONS 之后，Claude 拿到的是 @ 文件提及的路径，再用自己的文件工具去读，而不是把文件内容直接塞进提及里。PDF 更进一步：用 @ 点名一份 PDF，文件字节不再留在会话记录里。官方把这条标成内存和磁盘一起下降。

 调试日志以前在漏内存。开着 --debug 或 --debug-file ，内存会一直涨；调试日志落在不再接受写入的磁盘或网络盘上，退出还会卡住。调试输出打到标准错误、父进程又不读，内存可以没有上限地涨。这几条都在 2.1.299 里标成已修。云端会话或 Remote Control 会话如果跑过很多子智能体，恢复之后内存偏高，同样修了。Windows 上，进程存活检查会留下没人收的 PowerShell 进程，忙机器上能一直堆到内存耗尽，这条也修了。

 哈基米科技

 请求本身变瘦了一点。

 2.1.300 改了发往 api.anthropic.com 的大请求：就算遥测关掉，也走 gzip 压缩。不想要，把 CLAUDE_CODE_GZIP_REQUEST_BODIES 设成 0 。自定义 ANTHROPIC_BASE_URL 的流，以前 180 秒没有数据就掐断，现在等到 300 秒，跟功能开关有没有加载无关。MCP 走 HTTP 时，如果服务器对一条通知的回复始终不结束正文，连接会挂 30 秒然后失败，对应工单 anthropics/claude-code#99014，已修。组织策略读不出来时，云端会话每个回合会挂 5 分钟；2.1.300 改成这一回合马上结束，并说明原因。

 哈基米科技

 启动和后台也收了。

 2.1.299 里，VS Code 没有 Python 环境的工作区，会在 Python 扩展还在加载时就把 Claude 拉起来。新窗口如果开的是以前打开过的文件夹，模型选择器和斜杠命令菜单会马上填上。2.1.300 里，在 VS Code、Cursor 或 Devin Desktop 的集成终端里启动，以前为了检查扩展，会把编辑器的命令行工具拉起两次，现在一次。macOS 上，VS Code 检查其他窗口或终端里是否还有打开的会话，不再每次去 PATH 里找 ps ，直接启动 /bin/ps 。

 后台命令也不再被空转盯着。Claude 以前会去轮询后台命令的输出文件，或者在它跑的时候干等；2.1.300 修了。退出时，被要求停止之后仍在跑的后台命令，1.5 秒后强制结束。全屏模式下，这些进程以前可能一直留着。自托管 runner 的日志只留最近 256 KiB，并记下被丢掉的量，这条不覆盖 Windows。

 产物这边，本地会话同时盯着的已发布产物，从 10 个提到 25 个，写在 2.1.299。2.1.300 里，小改动可以在一次调用里改完并重新发布；更大的修改，也在同一次回复里改完再发布。

 用量终于肯喊疼。 /usage 会对最大力度、工作流、常驻上下文和大块工具结果发出警告。用量、临近限额的警告（终端和 VS Code）以及状态栏，有时会显示超过 100%，工单 anthropics/claude-code#92238，已修。

 还有两处长会话里的附件。Claude 还在干活时贴上的图片，在 VS Code、桌面应用和 SDK 里以前按原尺寸送出，长对话里会反复报图片错误。经 Remote Control 或发到云端会话的文件，30 到 35 MiB 这一档以前到不了。两条都在 2.1.299 里修了。

 OpenTelemetry 的 api_request 事件拆开了缓存写入： cache_creation_5m_tokens 和 cache_creation_1h_tokens ，按 5 分钟和 1 小时两档寿命分开计。这是记账，不是降价。日志没有给这轮更新配新的跑分，也没有写启动快了百分之几。

 把两版拆开看，2.1.299 更像一场会话内部的大扫除。空闲压缩解决的是人离开之后，一小时缓存还在倒计时。文件提及改成只给路径，解决的是一句话点了多个文件、正文却全被抬进上下文。PDF 字节退出会话记录，解决的是同一份附件在转录里反复占磁盘。调试日志的内存上涨、子智能体恢复后的内存偏高、Windows 上没人收的 PowerShell，都是机器被慢慢吃掉的那种问题，不是新功能发布。

 2.1.300 更靠近管道。大请求在遥测关掉时也走 gzip，省的是上传体积，不是模型突然变聪明。流在没有数据时从 180 秒等到 300 秒，是给慢网关留时间，不是把超时取消。云端会话读不到组织策略时，不再每个回合空挂 5 分钟，这一回合会马上结束并说明原因。后台命令不再被轮询输出文件，退出后 1.5 秒还不停就强制结束。这些改动的共同处，是少做无用的等待和重复传输。

 用量面板补了两处容易看错的地方。最大力度、工作流、常驻上下文、大块工具结果， /usage 会单独警告。状态栏和临近限额的提示以前能显示超过 100%。工单 92238 修的是这个显示，不是把额度突然放大。缓存写入拆成两档记进遥测，方便对账。价目表没有在这轮日志里改。

 哈基米科技

 长会话要省下一次整段重算，看空闲压缩：默认超过 20 万 token、空闲大约 54 分钟，在一小时缓存到期前先压。不想要， idleCompaction 设成 false。 @ 文件如果只想给路径、不把正文塞进去，用 CLAUDE_CODE_DISABLE_FILE_MENTIONS 。大请求想确认走了压缩，看 gzip 那条，关掉用 CLAUDE_CODE_GZIP_REQUEST_BODIES=0 。PDF 用 @ 点名之后，字节不再堆进会话记录。调试如果还在吃内存，先确认已经升到 2.1.299。版本号以本机 claude --version 为准。以上都来自 10 月 14 日官方更新日志里的 2.1.299 和 2.1.300，没有额外的速度百分比。

 哈基米云报道

 做项目需要大模型，国内的、国外的这里都能接到。价格谈得下来，调用稳得住，出了问题有人跟到落地。
平顶山市哈基米与他的朋友们科技有限公司
联系电话：17629730802
公司官网：hajimi.yun
