emanjusaka —— 彼岸花开可奈何

【前沿资讯】claude-code v2.1.83 版本更新内容

0
0
【前沿资讯】claude-code v2.1.83 版本更新内容

by emanjusaka from https://www.emanjusaka.com/archives/claude-code-changelog-v2.1.83 彼岸花开可奈何

内容源自官方日志,由 emanjusaka 整理发布。

博客:https://www.emanjusaka.com
博客园:https://www.cnblogs.com/emanjusaka
公众号:emanjusaka的编程栈


本次 v2.1.83 更新规模庞大,核心聚焦于企业级配置管控交互体验打磨底层性能优化以及Agent工作流升级

一、新增功能与特性 (New Features)

  • 环境与策略配置

    • 新增 managed-settings.d/ 放置目录,允许不同团队部署独立的策略片段,系统会按字母顺序自动合并。

    • 新增 CwdChanged(工作目录变更)和 FileChanged(文件变更)钩子事件,用于支持 direnv 等响应式环境管理。

    • 新增 sandbox.failIfUnavailable 设置。当沙箱功能启用但无法启动时,程序将直接报错退出,而不是在无沙箱环境中裸跑。

    • 新增 disableDeepLinkRegistration 设置,用于阻止 claude-cli:// 协议处理程序在系统的自动注册。

    • 新增 CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 环境变量,用于在子进程环境(如 Bash 工具、钩子、MCP stdio 服务器)中剥离 Anthropic 及其他云厂商的敏感凭证。

    • 新增 CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK 环境变量,允许用户在流式传输失败时手动禁用非流式回退机制。

  • 交互体验升级

    • 新增 聊天记录搜索 功能:在记录模式(按下 Ctrl+O)中输入 / 即可触发搜索,使用 n 或 N 可以在匹配项中前后跳转。

    • 剪贴板粘贴的图片现在会在光标处自动插入 [Image #N] 标记,方便在提示词中按位置精准引用。同时,Claude 现在可以直接读取剪贴板图片在磁盘上的绝对路径进行文件操作。

    • 新增 Ctrl+X Ctrl+E 快捷键作为打开外部编辑器的别名(原生 readline 绑定,原有的 Ctrl+G 依然有效)。

    • 优化清屏逻辑:按下 Ctrl+L 现在不仅会清屏,还会强制完全重绘 UI(这可用于修复 Cmd+K 导致 UI 部分空白的问题)。此外,使用 Ctrl+U 或双击 Esc 可以快速清空当前的提示词输入。

  • Agent 与扩展支持

    • Agent 现支持在 frontmatter 中声明 initialPrompt 属性,以实现首轮对话的自动提交。

    • chat:killAgents 和 chat:fastMode 现已支持通过 ~/.claude/keybindings.json 自定义快捷键绑定。

    • 插件选项(manifest.userConfig)现对外开放:插件可在启用时向用户请求配置输入,并且 sensitive: true的敏感值会被安全存储到 macOS 钥匙串或其他平台的受保护凭据文件中。

二、改进与优化 (Improvements)

  • 性能与延迟

    • SDK 模式加速--bare -p 模式下的 API 请求速度提升了约 14%。

    • MCP 服务器直连:使用未鉴权的 HTTP/SSE MCP 服务器时,claude -p 的启动速度加快了约 600ms。

    • Bedrock 冷启动:改进了 Bedrock SDK 的冷启动延迟,将配置文件获取与其他启动任务进行了重叠处理。

    • 内存优化:优化了 --resume 在大型会话中的内存占用和启动延迟;同时降低了 WebFetch 在处理大型网页时的内存使用峰值。

    • 缓存加载:提升了插件启动速度,命令、技能和 Agent 现在直接从磁盘缓存读取,无需重新获取网络数据。

  • 网络与请求回退

    • 抗截断能力增强:大幅提升了非流式回退的 Token 上限(21k → 64k)和本地超时时间(120s → 300s),降低了回退请求被截断的风险。

    • 爬虫标识WebFetch 请求现在会声明 Claude-User 标识符,方便网站管理员通过 robots.txt 识别并放行 Claude Code 流量。

  • 日常体验细节

    • 若在模型生成任何回复前强行中断提示词,系统现在会自动恢复你刚刚输入的内容,方便直接修改并重新提交。

    • /status 命令现已支持在 Claude 响应期间实时运行,无需再排队等到当前回合结束。

    • 远程控制的会话标题生成逻辑已优化:AI 总结的标题会在首条用户消息发送后的几秒钟内迅速显示。

    • 极大减少了超长会话中滚动条回溯重置的频率,从每轮一次降低至每 50 条消息一次。

    • Bash 的幽灵文本建议(ghost-text suggestions)现在会立刻包含刚刚执行过的命令。

    • 当插件 MCP 服务器与企业组织级管理的连接器发生重复时,插件端会被自动抑制,避免建立冗余的双重连接。

    • Linux 专项:在 Linux 系统注册 claude-cli:// 协议时,现在会严格遵循 XDG_DATA_HOME 规范。

    • 索引限制MEMORY.md 记忆索引现在除了原有的 200 行上限外,增加了一条限制:达到 25KB 时也会被截断。

三、问题修复 (Bug Fixes)

  • UI 冻结与崩溃

    • 修复了 macOS 环境下退出 Claude Code 时进程挂起的 Bug。

    • 修复了因开启语音输入功能急于加载原生音频模块,导致启动时 UI 冻结 1-8 秒的 Bug。

    • 修复了对比体积巨大但相似行极少的文件时卡死的问题(现已增加 5 秒超时保护并可优雅降级)。

    • 修复了退出 Claude Code 时 caffeinate 防休眠进程未正确终止,导致 Mac 无法息屏休眠的 Bug。

    • 修复了在 Linux 沙箱模式下执行 rg ... | wc -l 等管道命令时静默挂起并返回 0 的 Bug。

    • 修复了包含正斜杠(/)的工作树(worktree)名称会导致 --worktree 参数静默挂起的 Bug。

    • 修复了后台 Agent 在清理期间若遇到 git 或 API 调用卡顿时,任务状态会永久卡在 "running" 的 Bug。

  • 显示与渲染异常

    • 修复了退出程序后鼠标跟踪的转义序列泄漏到 Shell 命令行的 Bug。

    • 修复了终端空闲几秒钟后屏幕偶尔闪烁白屏的问题。

    • 修复了流式响应期间队列中命令发生闪烁的 Bug。

    • 修复了 /config 菜单中搜索光标和列表选择框同时存在的视觉 Bug。

    • 修复了旧版斜杠命令选单在切换建议时高亮错误条目的 Bug。

    • 修复了当折叠的读取/搜索组在滚动出屏幕外完成任务时,滚动条会突然跳动的问题。

    • 修复了模型开始或停止思考时滚动条自动跳到顶部的问题。

    • 修复了在高度受限的列表中,内容溢出时出现“幽灵字符(ghost characters)”的渲染 Bug。

    • 修复了无音频硬件的 Linux(Docker、无头服务器、WSL1)在使用语音模式时,ALSA 库报错直接破坏终端 UI 的 Bug。

  • 网络与接口交互

    • 修复了在单轮 --print 模式下 claude.ai MCP 连接器(如 Slack、Gmail)不可用的 Bug。

    • 修复了 --mcp-config CLI 参数绕过了 allowedMcpServers / deniedMcpServers 托管策略强制校验的问题。

    • 修复了启动时会错误等待 claude.ai MCP 配置长达 3 秒的性能退化问题。

    • 修复了在工具调用失败期间将粘贴的图片排队时会引发 API 400 错误的 Bug。

    • 修复了 SSE 连接在调用中途断开并耗尽重连次数时,MCP 工具调用无限期挂起的 Bug。

    • 修复了未安装插件的钩子(hooks)会持续触发直到下次会话才停止的问题。

  • 用户输入与按键

    • 修复了使用 Tab 键接受以 ! 前缀的命令建议时无法激活 Bash 模式的问题。

    • 修复了在消息处理期间输入并提交斜杠命令时,该命令被当作纯文本发送给模型的错误。

    • 修复了鼠标在终端窗口外部松开时导致“选中即复制”(copy-on-select)失效的 Bug。

    • 修复了在空闲提示符下,Ctrl+B 键干扰 readline backward-char 操作的 Bug(现在仅当有前台任务可转入后台时才会拦截该键)。

    • 修复了释放语音“按住说话”快捷键后,空格键会在接下来的 3 秒内被吞噬无响应的 Bug。

    • 修复了中日韩(CJK)输入法在插入全角空格时无法激活语音按住说话功能的 Bug。

    • 修复了 Termux/Android 端语音模式无法检测 SoX 的问题(针对其内核限制调用 which 的特殊情况)。

  • 会话与状态丢失

    • 修复了因钩子进度/附件消息分叉了 parentUuid 链,导致在恢复 SDK 会话时历史记录丢失的致命 Bug。

    • 修复了后台子 Agent 在上下文压缩后变得不可见,进而导致系统可能重复生成同类型 Agent 的 Bug。

    • 修复了工具生成的结果文件忽略 cleanupPeriodDays 设置,导致永远不会被清理的 Bug。

    • 修复了升级后首次启动时 --channels 参数错误提示 "Channels are not currently available" 的 Bug。

  • 远程控制会话修复

    • 修复了正在运行中的远程控制会话在 Web 列表里错误显示为 "Idle(空闲)" 的 Bug。

    • 修复了远程会话由于工具使用 ID 无限累积造成的内存泄漏。

    • 修复了当后台 Agent 抢在用户的首条消息前完成任务时,会话标题直接暴露原始 XML 标签的问题。

    • 修复了由于恢复的转录链中丢失了进度消息间隙,导致容器重启后远程会话忘记所有历史对话的问题。

    • 修复了遭遇瞬时授权错误时远程会话强制要求重新登录,而不是自动重试的 Bug。

    • 修复了在配置驱动模式下,底部的页脚导航会选中一个不可见的远程控制操作按钮的 UI 问题。

四、VSCode 插件专属 (VSCode Extension)

  • 状态可视化:当后端持续 60 秒未响应时,加载指示器(Spinner)现在会变为红色并显示 "Not responding(无响应)"。

  • 历史回溯强化

    • 新增了双击 Esc 或输入 /rewind 快速打开支持键盘导航的回退选择器的功能。

    • 修复了当会话缓存失效后,“从此处派生对话(Fork conversation from here)”及回退操作会静默失败的 Bug。

  • 会话持久化:修复了通过 URL 或重启后重新打开时,会话历史无法正确加载的问题。

五、废弃与调整 (Deprecations & Adjustments)

  • 快捷键防冲突:为避免与 readline 的 forward-char 操作冲突,将“停止所有后台 Agent”的快捷键从原有的 Ctrl+F 更改为了 Ctrl+X Ctrl+K

  • 工具淘汰:正式废弃了 TaskOutput 工具。官方建议后续直接对后台任务输出的文件路径使用 Read 工具。

  • 通道互斥限制:当启用 --channels 时,系统将强制禁用 AskUserQuestion 功能和基于 plan-mode 的工具链。

···

版权声明 COPYRIGHT

谦学于心,谷纳万物,静思致远,共筑收获之旅!