← 返回更新日志

Claude Code v2.1.88

2026-03-30 · GitHub 原文
## 更新内容 - 新增 `CLAUDE_CODE_NO_FLICKER=1` 环境变量,可选择启用带虚拟化回滚缓冲区的无闪烁备用屏幕渲染 - 新增 `PermissionDenied` 钩子,在自动模式分类器拒绝命令后触发 —— 返回 `{retry: true}` 可告知模型可重试 - 为 `@` 提及类型 ahead 建议新增命名子智能体 - 修复了长会话中因工具模式字节在会话中途变化导致的提示缓存未命中问题 - 修复了长会话中读取多个文件时嵌套的 `CLAUDE.md` 文件被重复注入数十次的问题 - 修复了 Windows 上 Edit/Write 工具导致 CRLF 加倍以及 Markdown 硬换行(两个尾随空格)被 stripping 的问题 - 修复了 `StructuredOutput` 模式缓存缺陷,该缺陷导致多模式工作流中约 50% 的失败率 - 修复了内存泄漏问题:长运行会话中大型 JSON 输入被保留为 LRU 缓存键 - 修复了在非常大的文件(>1 GiB)上使用 Edit 工具时潜在的 OOM 崩溃 - 修复了从非常大的会话文件(超过 50MB)中移除消息时的崩溃 - 修复了 `--resume` 在会话记录包含旧版 CLI 或中断写入的工具结果时的崩溃 - 修复了 API 返回权限错误时误导性的“达到速率限制”消息 —— 现在会显示实际错误并提供可操作提示 - 修复了崩溃后 LSP 服务器僵尸状态 —— 服务器现在会在下次请求时重启,而非直到会话重启前一直失败 - 修复了钩子 `if` 条件过滤不匹配复合命令(`ls && git push`)或带环境变量前缀的命令(`FOO=bar git push`)的问题 - 修复了包含 CJK 字符或 emoji 的提示历史条目在 `~/.claude/history.jsonl` 中落在 4KB 边界时被静默丢弃的问题 - 修复了当统计缓存格式变更时 `/stats` 丢失超过 30 天的历史数据的问题 - 修复了 `/stats` 因排除子智能体/fork 使用而低估令牌数的问题 - 修复了长会话中向上滚动时回滚缓冲区消失的问题 - 修复了在重度并行工具使用期间,终端回滚缓冲区中折叠的搜索/阅读组徽章重复出现的问题 - 修复了通知 `invalidates` 未立即清除当前显示的通知的问题 - 修复了后台消息在处理期间到达后提示在提交后短暂消失的问题 - 修复了长 `/btw` 响应被裁剪且无法滚动的问题 —— 响应现在在可滚动视口中渲染 - 修复了天城文及其他组合标记文本在助手输出中被截断的问题 - 修复了主屏幕终端在布局变化后的渲染伪影 - 修复了语音模式在 macOS Apple Silicon 上无法请求麦克风权限的问题 - 修复了语音按键通话对某些修饰键组合绑定未激活的问题 - 修复了 Windows 上语音模式因“WebSocket 升级被 HTTP 101 拒绝”而失败的问题 - 修复了 Windows Terminal Preview 1.25 上 Shift+Enter 提交而非插入换行的问题 - 修复了在 tmux 内运行 iTerm2 时流式传输期间的周期性 UI 抖动 - 修复了 PowerShell 工具在 Windows PowerShell 5.1 上错误报告 `git push` 等命令向 stderr 写入进度的问题 - 修复了 SDK 错误结果消息(`error_during_execution`, `error_max_turns`)以正确设置 `is_error: true` 并提供描述性消息 - 修复了使用 Ctrl+B 将会话后台化时任务通知丢失的问题 - 修复了 PreToolUse/PostToolUse 钩子未为 Write/Edit/Read 工具提供 `file_path` 绝对路径的问题 - 改进了 PowerShell 工具提示,提供版本适当的语法指导(5.1 vs 7+) - 交互式会话中默认不再生成思考摘要 —— 在设置中启用 `showThinkingSummaries: true` 可恢复 - 自动模式拒绝的命令现在会显示通知,并出现在 `/permissions` → 最近标签页中 - `/env` 现在适用于 PowerShell 工具命令(之前仅影响 Bash) - `/usage` 现在对 Pro 和 Enterprise 计划隐藏冗余的“本周(仅 Sonnet)”栏 - 折叠的工具摘要现在对 ls/tree/du 显示“列出 N 个目录”而非“读取 N 个文件” - 图像粘贴不再插入尾随空格 - 将 `!command` 粘贴到空提示中现在会进入 bash 模式,与输入 `!` 的行为一致