← 返回更新日志

Claude Code v2.1.69

2026-03-05 · GitHub 原文
## 变更内容 - 新增 `/claude-api` 技能,用于使用 Claude API 和 Anthropic SDK 构建应用程序 - 在空 bash 提示符 (`!`) 上新增 Ctrl+U 以退出 bash 模式,与 `escape` 和 `backspace` 行为一致 - 为 Claude 面试问题中的选项选择新增数字小键盘支持(此前仅支持 QWERTY 上方的数字行) - 为 `/remote-control` 和 `claude remote-control` 新增可选名称参数(例如 `/remote-control My Project` 或 `--name "My Project"`),以便在 claude.ai/code 中设置自定义会话标题 - 新增 10 种语言的语音转文字支持(总计 20 种)——俄语、波兰语、土耳其语、荷兰语、乌克兰语、希腊语、捷克语、丹麦语、瑞典语、挪威语 - 在 Logo 和加载动画中新增精力等级显示(例如“低精力”),使当前激活的精力设置更易识别 - 使用 `claude --agent` 时,在终端标题中显示代理名称 - 新增 `sandbox.enableWeakerNetworkIsolation` 设置(仅限 macOS),允许 Go 程序(如 `gh`、`gcloud`、`terraform`)在使用自定义 MITM 代理与 `httpProxyPort` 时验证 TLS 证书 - 新增 `includeGitInstructions` 设置(以及 `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` 环境变量),用于从 Claude 的系统提示词中移除内置的提交和 PR 工作流说明 - 新增 `/reload-plugins` 命令,无需重启即可激活挂起的插件更改 - 在 macOS 和 Windows 上新增一次性启动提示,建议使用 Claude Code Desktop(最多显示 3 次,可关闭) - 为技能新增 `${CLAUDE_SKILL_DIR}` 变量,以便在 SKILL.md 内容中引用其自身目录 - 新增 `InstructionsLoaded` 钩子事件,在 CLAUDE.md 或 `.claude/rules/*.md` 文件加载到上下文时触发 - 为钩子事件新增 `agent_id`(用于子代理)和 `agent_type`(用于子代理和 `--agent`) - 在 `--worktree` 会话中,为状态行钩子命令新增 `worktree` 字段,包含名称、路径、分支和原始仓库目录 - 在托管设置中新增 `pluginTrustMessage`,以便在插件安装前显示的信任警告中追加组织特定的上下文 - 为团队版 OAuth 用户新增策略限制获取(例如远程控制限制),而不仅限于企业版 - 在 `strictKnownMarketplaces` 中新增 `pathPattern`,以便与 `hostPattern` 限制一起对文件/目录市场源进行正则匹配 - 新增插件源类型 `git-subdir`,用于指向 git 仓库中的子目录 - 为 MCP 服务器新增 `oauth.authServerMetadataUrl` 配置选项,以便在标准发现失败时指定自定义 OAuth 元数据发现 URL - 修复了一个安全问题:嵌套技能发现可能从 `node_modules` 等被 gitignore 的目录中加载技能 - 修复了首次运行时信任对话框静默启用所有 `.mcp.json` 服务器的问题。现在将按预期显示每台服务器的批准对话框 - 修复了 `claude remote-control` 在 npm 安装时因“bad option: --sdk-url”而立即崩溃的问题 (anthropics/claude-code#28334) - 修复了 `--model claude-opus-4-0` 和 `--model claude-opus-4-1` 解析为已弃用的 Opus 版本而非当前版本的问题 - 修复了 macOS 上使用多个 OAuth MCP 服务器时的钥匙串损坏问题。大型 OAuth 元数据块可能溢出 `security -i` 的 stdin 缓冲区,静默留下过时凭据并导致重复的 `/login` 提示 - 修复了在令牌刷新期间配置文件端点暂时失败时,`.credentials.json` 丢失 `subscriptionType`(显示“Claude API”而非“Claude Pro”/“Claude Max”)的问题 (anthropics/claude-code#30185) - 修复了在 Linux 上沙箱化 Bash 命令后,幽灵点文件(`.bashrc`、`HEAD` 等)作为工作目录中的未跟踪文件出现的问题 - 修复了在 Ghostty 中通过 SSH 使用 Shift+Enter 时打印 `[27;2;13~` 而非插入换行符的问题 - 修复了在 Claude 工作时提交消息时清除存储(Ctrl+S)的问题 - 修复了在包含大量文件编辑的长会话中,ctrl+o(转录切换)冻结数秒的问题 - 修复了计划模式反馈输入不支持多行文本输入的问题(反斜杠+Enter 和 Shift+Enter 现在可插入换行符) - 修复了光标无法向下移动到输入框顶部空白行的问题 - 修复了当转录文件包含缺失或格式错误的时间戳时 `/stats` 崩溃的问题 - 修复了流式错误后短暂挂起的问题(长会话中,转录被完全重写以删除一行;现在改为原地截断) - 修复了 `--setting-sources user` 无法阻止动态发现的项目技能的问题 - 修复了在主仓库嵌套的工作树中运行(例如 `claude -w`)时出现重复的 CLAUDE.md、斜杠命令、代理和规则的问题 - 修复了在任何 `/plugin` 操作后,插件 Stop/SessionEnd 等钩子未触发的问题 - 修复了当两个插件使用相同的 `${CLAUDE_PLUGIN_ROOT}/...` 命令模板时,插件钩子被静默丢弃的问题 - 修复了长运行 SDK/CCR 会话中的内存泄漏,其中对话消息被不必要地保留 - 修复了在工具批次中断时恢复会话,fork 代理(自动压缩、摘要)中出现 API 400 错误的问题 - 修复了恢复以孤立工具结果开头的会话时出现“unexpected tool_use_id found in tool_result blocks”错误的问题 - 修复了队友通过代理工具的 `name` 参数意外生成嵌套队友的问题 - 修复了在对话压缩期间 `CLAUDE_CODE_MAX_OUTPUT_TOKENS` 被忽略的问题 - 修复了 SDK 消费者(Claude Code Remote Web UI、VSCode 扩展)中 `/compact` 摘要渲染为用户气泡的问题 - 修复了语音激活失败后空格键卡住的问题(模块加载竞争、冷 GrowthBook) - 修复了 Windows 上的工作树文件复制问题 - 修复了 Windows 上的全局 `.claude` 文件夹检测问题 - 修复了符号链接绕过问题:通过符号链接的父目录写入新文件时,在 `acceptEdits` 模式下可能逃逸工作目录 - 修复了在托管设置中启用 `allowManagedDomainsOnly` 时,沙箱提示用户批准非允许域的问题——非允许域现在会自动阻止,无绕过途径 - 修复了交互式工具(例如 `AskUserQuestion`)被列在技能的允许工具中时静默自动允许的问题,该问题绕过了权限提示并以空答案运行 - 修复了提交包含工作树中大型未跟踪二进制文件时出现多 GB 内存峰值的问题 - 修复了输入框中有草稿文本时,Escape 未中断当前轮次的问题。使用向上箭头可拉回排队的消息进行编辑,或使用 Ctrl+U 清除输入行。 - 修复了在远程控制会话中运行本地斜杠命令(`/voice`、`/cost`)时 Android 应用崩溃的问题 - 修复了内存泄漏:长会话中旧消息数组版本在 React Compiler `memoCache` 中累积 - 修复了内存泄漏:长会话中 REPL 渲染作用域累积(约 1000 轮后 35MB) - 修复了进程内队友中的内存保留问题:父级的完整对话历史在队友生命周期内被固定,导致 `/clear` 或自动压缩后无法进行垃圾回收 - 修复了交互式模式中的内存泄漏:长会话中钩子事件可能无限累积 - 修复了当 `--mcp-config` 指向损坏文件时的挂起问题 - 修复了安装大量技能/插件时启动缓慢的问题 - 修复了 `cd <outside-dir> && <cmd>` 权限提示,以显示链式命令而非仅显示“是,允许从 <dir>/ 读取” - 修复了带 `paths:` 前言的条件的 `.claude/rules/*.md` 文件以及嵌套的 CLAUDE.md 文件在打印模式(`claude -p`)中未加载的问题 - 修复了 `/clear` 未完全清除所有会话缓存的问题,减少了长会话中的内存保留 - 修复了由滚动边界处的动画元素引起的终端闪烁 - 修复了 macOS 上使用 OAuth 的 MCP 服务器时的 UI 帧率下降(2.1.x 版本的回归) - 修复了由于同步调试日志刷新导致的输入时偶尔出现的帧停滞 - 修复了 `TeammateIdle` 和 `TaskCompleted` 钩子以支持 `{"continue": false, "stopReason": "..."}` 以停止队友,与 `Stop` 钩子行为一致 - 修复了 `WorktreeCreate` 和 `WorktreeRemove` 插件钩子被静默忽略的问题 - 修复了 SKILL.md 前言中包含冒号的技能描述(例如“Triggers include: X, Y, Z”)加载失败的问题 - 修复了没有 `description:` 前言字段的项目技能未出现在 Claude 的可用技能列表中的问题 - 修复了 `/context` 显示来自服务器的所有 MCP 工具具有相同令牌计数的问题 - 修复了 Windows 上模型在 Git Bash 中使用 CMD 风格 `2>nul` 重定向时创建字面量 `nul` 文件的问题 - 修复了展开的子代理转录视图(Ctrl+O)中每个工具调用下方出现多余空行的问题 - 修复了当 `/config` 搜索框聚焦但为空时,Tab/箭头键未循环切换设置标签页的问题 - 修复了服务密钥 OAuth 会话(CCR 容器)因配置文件范围端点的 403 错误而不断输出 `[ERROR]` 日志的问题 - 修复了“Remote Control active”状态指示器颜色不一致的问题 - 修复了语音波形光标在输入中途听写时覆盖第一个后缀字母的问题 - 修复了语音输入在预热期间显示全部 5 个空格而非限制在约 2 个的问题(与“请继续按住...”提示对齐) - 通过将 50ms 动画循环与周围 shell 隔离,提高了加载动画性能,减少了轮次期间的渲染和 CPU 开销 - 通过 React Compiler 提高了原生二进制文件的 UI 渲染性能 - 通过消除启动路径上的 git 子进程,提高了 `--worktree` 启动速度 - 通过消除托管设置解析时的冗余设置文件重新加载,提高了 macOS 启动速度 - 通过跳过不必要的钥匙串查找,提高了 Claude.ai 企业/团队用户的 macOS 启动速度 - 通过将 claude.ai 配置获取与本地连接流水线化,并使用并发池而非顺序批处理,提高了 MCP `-p` 启动速度 - 通过移除几乎无法察觉的预热脉冲动画(该动画导致重新渲染卡顿),提高了语音启动速度 - 改进了 MCP 二进制内容处理:返回 PDF、Office 文档或音频的工具现在将解码的字节保存到磁盘,并带有正确的文件扩展名,而不是将原始 base64 转储到对话上下文中。WebFetch 也会将二进制响应与其摘要一起保存 - 通过跨消息更新稳定 `onSubmit`,提高了长会话中的内存使用效率 - 改进了 LSP 工具渲染和内存上下文构建,不再读取整个文件 - 改进了会话上传和内存同步,避免了在大小/二进制检查前将大文件读入内存 - 通过避免为存在性检查读取文件内容,提高了文件操作性能(6 个站点) - 改进了文档以澄清 `--append-system-prompt-file` 和 `--system-prompt-file` 在交互模式下也有效(此前文档称仅限打印模式) - 通过延迟 Yoga WASM 预加载,将基线内存减少了约 16MB - 减少了使用流式 JSON 输出的 SDK 和 CCR 会话的内存占用 - 减少了恢复大型会话(包括压缩历史)时的内存使用 - 通过更简洁的子代理最终报告,减少了多代理任务中的令牌使用量 - 将 Pro/Max/Team Premium 上的 Sonnet 4.5 用户自动迁移至 Sonnet 4.6 - 更改了 `/resume` 选择器以显示您最近的提示而非第一个提示。这也解决了某些标题显示为 `(session)` 的问题 - 将 claude.ai MCP 连接器失败更改为显示通知,而非从工具列表中静默消失 - 将示例命令建议的生成改为确定性,而非调用 Haiku - 更改了压缩后恢复的行为,不再在继续前显示前言摘要 - [SDK] 更改了任务创建,不再需要 `activeForm` 字段——加载器回退到任务主题 - [VSCode] 将压缩显示为可折叠的“压缩聊天”卡片,摘要位于内部 - [VSCode] 权限模式选择器现在尊重您有效的 Claude Code 设置(包括托管/策略设置)中的 `permissions.disableBypassPermissionsMode`——当设置为 `disable` 时,绕过权限模式将从选择器中隐藏 - [VSCode] 修复了 RTL 文本(阿拉伯语、希伯来语、波斯语)在聊天面板中反向渲染的问题(v2.1.63 的回归)