工程 / 官方
修复内存泄漏与子代理管理优化
Claude Code v2.1.217 版本正式发布,主要新增表情符号快捷输入功能,用户可通过输入 :heart: 等短代码快速插入表情符号,并支持禁用该功能。同时,版本修复了多个重要问题,包括 MCP 工具输出截断导致的内存泄漏、Windows 自动更新失败后可自动恢复可执行文件、后台会话隔离未处理符号链接工作目录的安全隐患,以及 Claude Opus 4.8 在 Bedrock 上自动压缩失效等。此外,子代理管理得到优化,默认限制并发运行数量为 20,并禁止嵌套子代理,防止消息无限扩散。登录过期警告提前至 3 天,前端设计插件建议提示改为终身最多 3 次。
Claude Code v2.1.217 版本现已发布,本次更新聚焦于用户体验提升与系统稳定性修复。新增的表情符号快捷输入功能允许用户在提示输入框中通过输入 :heart: 等短代码快速插入表情符号,或输入 :hea 获取建议列表,用户可通过 emojiCompletionEnabled 设置禁用此功能。同时,当转录写入失败(如磁盘已满)或由于继承的环境变量导致会话保存关闭时,系统会发出警告,避免静默丢失数据。
在内存管理方面,版本修复了一个关键的内存泄漏问题:之前截断的 MCP 工具输出会将完整的未截断结果保留在内存中直至会话结束,现在已得到解决。Windows 用户也迎来重要修复,自动更新失败不再导致 claude.exe 丢失,失败的更新会自动恢复保留的可执行文件。此外,后台会话隔离现在会规范化符号链接工作目录,防止会话逃逸出其工作区文件夹。
针对 Claude Opus 4.8 在 Bedrock 上的用户,版本修复了自动压缩从未触发以及 /compact 在超出限制后失败的问题。企业级功能方面,修复了 Claude Desktop 会话中忽略的 mTLS、TLS 验证、OAuth 范围和代理设置。屏幕阅读器模式的启动公告不再被首次提示渲染截断,思考状态行也不再每几秒重新渲染以更新时间计数。
子代理管理迎来重大改进:新增并发运行子代理上限(默认 20 个,可通过 CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS 覆盖),防止单条消息无限扩散后台代理。默认情况下,子代理不再生成嵌套子代理,如需更深层嵌套可设置 CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH。同时修复了 --max-budget-usd 无法停止后台子代理的问题,达到上限后新生成被拒绝,运行中的后台代理也会被停止。
其他改进包括:修复了 CLAUDE.md 或 SKILL.md 路径 frontmatter 值中包含大量花括号组导致 CLI 启动时 OOM 或卡死的问题,花括号扩展现在有预算限制。转录预览在附加到启动中的后台会话时不再紧贴输入区域,而是保留一行间隙。页脚 PR 徽章链接在终端无法检测超链接支持时(如通过 ssh/tmux)仍可点击,用户可通过 FORCE_HYPERLINK=0 选择退出。登录过期警告从 5 天改为 3 天,前端设计插件建议提示改为终身最多 3 次。
要点
- 新增表情符号快捷输入功能,支持短代码自动补全,可禁用。
- 修复 MCP 工具输出截断导致的内存泄漏问题。
- 子代理默认并发上限为 20,禁止嵌套子代理。
- 修复 Windows 自动更新失败后可自动恢复可执行文件。
- 修复后台会话隔离未处理符号链接工作目录的安全问题。