工程 / 官方
空闲压缩、沙箱安全加固与百余项修复
Anthropic 于 2025 年 10 月 14 日发布 Claude Code v2.1.299,这是一次覆盖面极广的版本更新。新功能方面,终端侧新增空闲压缩机制:当对话 token 超过 20 万且闲置约 54 分钟时,系统会在一小时提示缓存到期前自动压缩,避免下次发送消息时重新处理全部上下文。此外,新增 CLAUDE_CODE_DISABLE_FILE_MENTIONS 环境变量,让 Claude 仅获取 @ 文件路径而非文件内容;Mod 开发接口也得到扩充,包括 $.prompt.media、$.session.identity() 等新增能力。修复层面,本次更新解决了沙箱命令可写入插件目录的安全漏洞、调试日志导致的内存无限增长、MCP 服务器命名冲突、WSL2 沙箱失败、Remote Control 消息丢失等大量问题,同时对 VS Code 插件、云会话、Claude Tag(Slack 集成)及 Code Review 模块均有针对性修复与改进。
v2.1.299 最受关注的新特性是终端空闲压缩(Idle Compaction)。当一段对话的 token 数超过 20 万、且已闲置约 54 分钟时,Claude Code 会在一小时提示缓存到期前主动触发压缩,确保用户下次发送消息时无需重新处理全部历史上下文,显著降低延迟与成本。该功能可通过 CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS 调整触发阈值,也可在 settings.json 中设置 idleCompaction: false 关闭,但需要 v2.1.290 或更高版本。
Mod 开发接口在本次更新中得到多项扩充。新增的 $.prompt.media 允许由托管设置安装的 Mod 在 prompt.submit 钩子中读取附件图片或文档的原始字节;$.session.identity() 则可获取当前会话的登录方式、所属组织及邮箱信息。Text 组件新增 size、weight、mono、tabular 属性,Box 组件新增从 xs 到 xl 的命名间距步进,原有的 bold 属性已被标记为废弃,建议改用 weight。skill.prompt 钩子现在也能接收技能的 frontmatter、来源、插件名称和文件路径等元数据。
安全与沙箱方面,本次修复了一个严重问题:沙箱内的 shell 命令此前可以向 --plugin-dir 目录写入文件,而该目录中的代码会在沙箱外被 Claude Code 加载执行,存在沙箱逃逸风险。此外还修复了沙箱 glob 规则中含有花括号、括号或反斜杠的路径被 Claude Code 设置检查与沙箱本身解析不一致的问题,以及 macOS 上通过符号链接绕过路径拒绝规则的漏洞。WSL2 环境下 bwrap 无法创建 /mnt/c/Program Files/ClaudeCode 目录导致沙箱命令失败的问题也已修复。
内存与性能方面,修复了开启 --debug 或 --debug-file 时内存持续增长的问题,以及调试日志写入磁盘或网络挂载点停止响应时进程挂起的问题。当调试输出写入 stderr 且父进程停止读取时,内存无限增长的问题同样得到解决。云会话和 Remote Control 会话在运行大量子代理后恢复时的高内存占用问题也已修复。对于 PDF 的 @ 引用,其字节数据不再保留在会话记录中,降低了内存与磁盘占用。
MCP 相关修复涵盖多个场景:名为 constructor、prototype 或 toString 的 MCP 服务器此前无法正常连接或在自动模式下异常请求权限,现已修复。MCP 服务器的 deny 和 ask 规则在服务器规范化名称包含双下划线时不生效的问题也已解决。此外,MCP 允许规则的作用域得到收窄——mcp__a 规则不再匹配名为 a__b 或 a_ 的服务器,需使用 mcp__ __* 格式精确匹配。HTTP 连接在服务器未结束通知响应体时挂起 30 秒的问题同样得到修复。
本次更新还对 VS Code 插件、Claude Tag(Slack 集成)和 Code Review 模块进行了专项修复。VS Code 方面,修复了切换会话时未发送的草稿及附件丢失、空白对话保持后台进程运行等问题,并优化了无 Python 环境时的启动速度。Claude Tag 修复了在含访客的频道中对未 @ 消息保持沉默、向未加入的频道发送回复时误报成功等问题,同时将纠错方式从划线旧文本改为原地编辑并附加简短的「已编辑」标注。Code Review 的月度消费限额链接也从错误的设置页面更正为正确的用量页面。
要点
- 空闲压缩机制可在提示缓存到期前自动压缩长对话,避免重新处理全部上下文,降低延迟与成本
- 修复了沙箱命令可向插件目录写入文件的安全漏洞,堵住了潜在的沙箱逃逸路径
- MCP 允许规则作用域收窄,mcp__a 不再匹配含双下划线的相似服务器名,需使用精确格式
- 调试日志引发的内存无限增长与进程挂起问题已修复,长时间运行的会话稳定性显著提升
- Mod 开发接口新增 $.prompt.media 和 $.session.identity(),托管设置下的插件能力进一步增强