← 返回更新日志

Claude Code v2.1.98

2026-04-09 · GitHub 原文
## 更新内容 - 新增交互式 Google Vertex AI 设置向导,在登录页面选择“第三方平台”时即可访问,引导您完成 GCP 认证、项目和区域配置、凭据验证以及模型固定 - 新增 `CLAUDE_CODE_PERFORCE_MODE` 环境变量:设置后,Edit/Write/NotebookEdit 在遇到只读文件时会失败并提示 `p4 edit`,而非静默覆盖 - 新增 Monitor 工具,用于流式传输后台脚本的事件 - 在 Linux 上新增子进程沙箱化,当 `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` 设置时启用 PID 命名空间隔离;新增 `CLAUDE_CODE_SCRIPT_CAPS` 环境变量以限制每会话脚本调用次数 - 为打印模式新增 `--exclude-dynamic-system-prompt-sections` 标志,以改善跨用户提示缓存 - 在状态行 JSON 输入中新增 `workspace.git_worktree`,当当前目录位于链接的 git 工作树内时自动设置 - 当启用 OTEL 追踪时,为 Bash 工具子进程传递 W3C `TRACEPARENT` 环境变量,使子进程跨度能正确关联到 Claude Code 的追踪树 - LSP:Claude Code 现在通过初始化请求中的 `clientInfo` 向语言服务器标识自身 - 修复 Bash 工具权限绕过问题:转义后的标志可能被自动允许为只读并导致任意代码执行 - 修复复合 Bash 命令在自动和绕过权限模式下绕过强制权限提示和安全检查的问题 - 修复带环境变量前缀的只读命令未触发提示的问题(除非变量属于已知安全变量,如 `LANG`、`TZ`、`NO_COLOR` 等) - 修复重定向到 `/dev/tcp/...` 或 `/dev/udp/...` 时未提示而自动允许的问题 - 修复流式响应停滞时超时而非回退到非流式模式的问题 - 修复 429 重试在服务器返回较小 `Retry-After` 时约 13 秒内耗尽所有尝试的问题——现采用指数退避作为最低策略 - 修复 MCP OAuth `oauth.authServerMetadataUrl` 配置覆盖在重启后刷新令牌时不生效的问题,影响 ADFS 等类似 IdP - 修复 kitty 键盘协议激活时,xterm 和 VS Code 集成终端中大写字母被降为小写的问题 - 修复 macOS 文本替换删除触发词而非插入替换内容的问题 - 修复 `--dangerously-skip-permissions` 在通过 Bash 批准写入受保护路径后静默降级为接受编辑模式的问题 - 修复管理员移除后托管设置允许规则仍保持激活,直至进程重启的问题 - 修复 `permissions.additionalDirectories` 的更改在会话中不生效的问题——移除的目录立即失去访问权限,新增的目录无需重启即可生效 - 修复从 `additionalDirectories` 移除目录同时撤销通过 `--add-dir` 传递的同目录访问权限的问题 - 修复 `Bash(cmd:*)` 和 `Bash(git commit *)` 通配符权限规则因多余空格或制表符无法匹配命令的问题 - 修复混合 `cd` 与其他段的管道命令中,`Bash(...)` 拒绝规则被降级为提示的问题 - 修复 `cut -d /`、`paste -d /`、`column -s /`、`awk '{print $1}' file` 及包含 `%` 的文件名的误报权限提示 - 修复权限规则名称匹配 JavaScript 原型属性(如 `toString`)导致 `settings.json` 被静默忽略的问题 - 修复使用 `--dangerously-skip-permissions` 时,代理团队成员未继承领导者权限模式的问题 - 修复全屏模式下悬停 MCP 工具结果时崩溃的问题 - 修复全屏模式下复制换行 URL 时在行断处插入空格的问题 - 修复 `--resume` 时文件编辑差异从 UI 消失的问题(当编辑文件大于 10KB 时) - 修复多个 `/resume` 选择器问题:`--resume <name>` 打开不可编辑项、筛选重载清除搜索状态、空列表吞没方向键、跨项目陈旧性、以及瞬态任务状态文本替换对话摘要 - 修复 `/export` 不遵守绝对路径和 `~`,并静默将用户提供的扩展名重写为 `.txt` - 修复 `/effort max` 因未知或未来模型 ID 被拒绝的问题 - 修复插件 frontmatter `name` 为 YAML 布尔关键字时斜杠命令选择器崩溃的问题 - 修复消息重新挂载后速率限制升级文本被隐藏的问题 - 修复具有 `_meta["anthropic/maxResultSizeChars"]` 的 MCP 工具未绕过基于令牌的持久层的问题 - 修复语音模式中,当先前转录仍在处理时按住通话键导致数十个空格字符泄漏到输入中的问题 - 修复 `DISABLE_AUTOUPDATER` 未完全抑制 npm 注册表版本检查及 npm 安装时的符号链接修改 - 修复远程控制权限处理器条目在会话生命周期内被保留的内存泄漏问题 - 修复失败并报错的后台子代理未向父代理报告部分进度的问题 - 修复长会话中提示类型 Stop/SubagentStop 钩子失败,以及钩子评估器 API 错误显示“JSON 验证失败”而非真实消息的问题 - 修复反馈调查在关闭后仍渲染的问题 - 修复 Bash `grep -f FILE` / `rg -f FILE` 在模式文件位于工作目录外时未提示的问题 - 修复陈旧子代理工作树清理删除包含未跟踪文件的工作树的问题 - 修复 `sandbox.network.allowMachLookup` 在 macOS 上未生效的问题 - 改进 `/resume` 筛选提示标签,并在筛选指示器中添加项目/工作树/分支名称 - 改进页脚指示器(焦点、通知),使其保持在模式指示器行上,而非在窄终端宽度下换行 - 改进 `/agents` 为选项卡布局:运行选项卡显示实时子代理,库选项卡添加运行代理和查看运行实例操作 - 改进 `/reload-plugins` 以无需重启即可获取插件提供的技能 - 改进接受编辑模式,自动批准带有安全环境变量或进程包装器前缀的文件系统命令 - 改进 Vim 模式:NORMAL 模式下的 `j`/`k` 现在可导航历史并选择输入边界处的页脚药丸 - 改进转录中的钩子错误,包含 stderr 的第一行以便无需 `--debug` 即可自我诊断 - 改进 OTEL 追踪:交互跨度现在在并发 SDK 调用下正确包装完整回合,无头回合按回合结束跨度 - 改进转录条目,携带最终令牌使用量而非流式占位符 - 更新 `/claude-api` 技能以涵盖托管代理和 Claude API - [VSCode] 修复 Windows 上设置 `CLAUDE_CODE_GIT_BASH_PATH` 或 Git 安装在默认位置时误报“需要 git-bash”错误 - 修复 `CLAUDE_CODE_MAX_CONTEXT_TOKENS` 在 `DISABLE_COMPACT` 设置时未生效的问题 - 当 `DISABLE_COMPACT` 设置时,移除 `/compact` 提示