← 返回更新日志

Claude Code v2.1.285

2026-09-29 · GitHub 原文
## 变更内容 - 新增 `CLAUDE_CODE_DISABLE_WEB_FETCH` 环境变量,用于关闭 WebFetch 工具 - 新增 `claude --desktop`,可在当前目录打开 Claude 桌面应用;也可通过 `--continue` / `--resume <id>` 打开会话 - 新增 `claude plugin configure <plugin>`,用于显示插件选项及尚未设置的选项;也可使用 `--values-stdin` 从标准输入读取并保存新值 - 为 `claude plugin install --config` 新增 `<server>.<key>=<value>` 格式,可在安装时设置捆绑的 `.mcpb` MCP 服务器自身的配置,使其无需访问 `/plugin` → Configure 即可启动 - 新增托管设置 `allowedProviders`,用于限制机器可使用的 API 提供商(Anthropic API、自定义端点、Bedrock、Mantle、Vertex AI、Foundry、AWS 上的 Claude Platform 或 Cloud 网关) - 新增 `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` 环境变量,用于限制非流式备用请求超时后的重发次数 - 修复设置 `CLAUDE_CODE_FORK_SUBAGENT=1` 时的 `claude -p`:子代理自己的 Agent 调用现在会在前台运行,因此子代理能够获取子任务的结果 - 修复通过 SSH 安装或更新插件及 marketplace 时忽略 `GIT_SSH` 或 git 配置中 `core.sshCommand` 所指定的 ssh 程序的问题 - 修复操作系统拒绝读取托管设置文件时 Claude Code 无法启动的问题;现在会发出警告并在不应用该文件策略的情况下启动。其他读取错误和无法解析的文件仍会阻止所有会话启动 - 修复云端会话在对话压缩后重启时,拒绝更新该会话已经读取或发布过的 artifact 的问题 - 修复使用完整 `name@marketplace` ID 执行 `claude plugin disable` 和 `enable` 时,修改了大小写不同的其他设置项,而不是已安装插件自身设置项的问题 - 修复通过 Remote Control 发送的消息附件在一次下载失败后被遗漏的问题;网络错误、超时或服务器错误现在最多会重试两次 - 修复通过 `set_model` 请求(例如 Agent SDK 的 `setModel`)在会话中途切换模型后,新模型仍使用内置输出 token 限制和自动压缩窗口,直到重启才生效的问题 - 修复脱敏日志和转录内容仍会显示 URL 密码中 `@` 后面的部分,或在 URL 将 `@` 写成 `%40` 时显示整个密码的问题 - 修复 worktree 和 `/teleport` 获取操作中的 SSH 密码短语和新主机提示接管终端的问题;这些获取操作现在会快速失败,而不是弹出提示 - 修复在 SDK 和 `-p` 会话中关闭会话期间新增的 MCP 服务器后,其工具仍可用的问题 - 修复 `claude -p --permission-prompt-tool`:后台子代理的权限请求现在会发送给提示工具,而不是被自动拒绝 - 修复 `claude mcp list`、`claude mcp get` 以及 `claude mcp remove`、`login` 和 `logout` 的未找到错误会打印 MCP 服务器名称和值中的换行符和终端转义序列的问题 - 修复沙盒自动允许规则在运行许多内联脚本(如 `python3 -c`、`node -e`)时每次都要求批准的问题,原因仅仅是脚本中包含 `=` - 修复 fork 子代理未保留会话计划模式或 `dontAsk` 模式的问题:fork 现在会在父级的权限模式下运行,且无法退出计划模式 - 修复 `claude remote-control --help` 错误地声称 `--[no-]chrome` 默认遵循机器的 `/chrome` 设置的问题;除非传入 `--chrome`,否则启动的会话会关闭 Claude in Chrome - 修复自动模式下的后台子代理在每次报告后都会再次提示冗余回复的问题 - 修复云端会话创建和 `/remote-env` 只读取账户最新 20 个环境的问题 - 修复 Remote Control 在消息到达时就将其标记为已读,而不是等 Claude 开始处理时才标记的问题;也修复终端退出时仍在队列中的消息丢失的问题(现在会在下次恢复会话时送达) - 修复使用 `claude plugin install` 或 `/plugin` 安装插件时,如果插件 ID 仅在 `.``、`-`、`@` 或(macOS、Windows 上的)大小写方面不同,可能会将插件安装到其他已安装插件的缓存或数据目录中的问题;现在会拒绝此类安装 - 修复当计划在同一响应中写入时,hooks 和 SDK 权限回调在 ExitPlanMode 中看到缺失或过期计划的问题 - 修复云端会话的第一条回复会延迟数十毫秒的问题;这是 2.1.283 中引入的回归 - 修复使用 `ANTHROPIC_AUTH_TOKEN` 向 Anthropic API 进行身份验证的会话始终不会加载组织策略的问题 - 修复工作流脚本稍后等待或完全不等待失败的 `agent()`、`parallel()` 或 `pipeline()` 调用时,该调用会被视为未处理的 promise 拒绝并可能终止后台会话的问题 - 修复同步 hooks 会因其启动的后台进程(例如 `some-daemon &`)持续保持输出流打开而卡住 Claude Code 的问题;现在 hook 会在自身进程退出后不久结束 - 修复 WebFetch 将受速率限制的域名安全检查错误报告为网络或企业策略拦截的问题 - 修复在包含数百次文件读取或搜索的回合中打开全屏 ctrl+o 转录视图时短暂冻结的问题;打开转录视图时仍在运行的工具调用,现在会在完成后显示结果 - 修复 Amazon Bedrock 在流式处理中出现 `modelTimeoutException` 和 `serviceUnavailableException` 错误时显示原始 JSON 内容,而不是错误消息的问题 - 修复当尚未检查仓库安装状态时,`/autofix-pr` 和 `/schedule` 会声称该仓库未安装 Claude GitHub App 的问题 - 修复在 `/artifacts` 中关闭某一行(x)会取消文件与 artifact 的关联,导致再次发布同一文件时创建新 artifact 而不是更新原 artifact 的问题 - 修复对话回退(Esc Esc)后,Artifact 工具发布内容会覆盖 Claude 仅在回退回合中读取过的文件较新内容的问题;现在 Claude 重新读取文件之前会拒绝发布 - 修复 `Artifact` 允许规则(“不再询问”)可能让 Artifact 工具无需询问便发布工作目录之外文件的问题;需使用 `--add-dir` 添加文件所在目录,规则才会涵盖该文件 - 修复当服务器用不同的备用模型拒绝请求,而该模型与客户端预期不同时,`/cost` 和 SDK `modelUsage` 会将回合计入错误模型的问题 - 修复 Artifact 工具发布页面后,Claude 无需重新读取源文件便可覆盖源文件的问题;如果 Claude 先前读取中途被截断,或文件此后发生变化,现在都必须重新读取 - 修复自动模式在先前其他权限模式已批准某个 artifact 后,对 Artifact 工具资产上传及读取他人 artifact 的操作跳过分类器的问题 - 修复项目文件夹暂时无法读取时,`/ultrareview` 会显示误导性的 “core.worktree is set” 错误的问题 - 修复 macOS 和 Linux 上,当 git worktree 的工作区配置设置了 `core.longpaths` 时,`/ultrareview` 无法上传工作树的问题 - 修复 Artifact 工具在临时服务器错误后重试时,有时会将已成功的首次尝试错误报告为与其他会话冲突的问题 - 修复 macOS 和 Linux 上的 `/ultrareview` 上传会包含未提交的凭据文件的问题,例如扩展名前含冒号的 `server:8443.key` - 修复两个会话同时恢复由崩溃进程遗留的登录刷新锁时偶发的身份验证失败问题 - 修复 PowerShell 工具的命令解析器无法启动时(例如机器内存不足),权限检查会跳过拒绝和询问规则,并将该失败结果缓存供后续检查使用的问题 - 修复 macOS 和 Linux 上的 `/ultrareview` 上传在某些不常见文件名下速度缓慢的问题;同时修复其凭据文件检查会遗漏带有大量备份或编辑器标记的文件名或文件夹名的问题 - 修复取消 shell 命令或 hook 的请求若在启动准备期间到达,该命令或 hook 仍会启动并运行至结束的问题 - 修复 vim 模式:使用外部编辑器(Ctrl+G)编辑后,在 NORMAL 模式下按 `x` 或 `r` 不再会破坏提示末尾的粘贴文本占位符 - 修复被 API 输出内容过滤器拦截的响应会被重新发送并重试,有时持续数分钟,而不是立即显示过滤器错误的问题 - 修复插件会静默跳过仍需配置的捆绑 `.mcpb` MCP 服务器的问题;现在 `/plugin`、安装消息和 `claude plugin install` 都会提示此情况并指向 Configure - 修复压缩或恢复会话时失败、打开后没有历史记录或发生崩溃的问题;当已保存转录内容中的压缩标记或循环唤醒条目缺少字段或字段格式错误时,也会正常处理 - WSL:修复 `/ultrareview` 拒绝上传 Linux 卷上的检出内容的问题;如果更改文件的名称包含冒号,或以句点或空格结尾,就会触发此问题 - 修复 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 会重新运行已在 `--max-turns` 处结束的回合的问题 - 修复浏览器显示登录成功后,登录流程仍可能无限等待的问题 - Windows:修复在某些情况下,`/ultrareview` 无法上传根目录位于用户主目录下的仓库的链接 worktree - 修复云端会话在尚未上传任何文件前就报告上传文件夹不存在的问题 - 修复通过 `claude agents` 向正在等待权限提示的后台会话发送回复时,有时会批准待执行命令的问题 - 修复当选项放在命令名前面时(例如通过 shell 别名调用),`claude attach`、`logs`、`stop`、`respawn` 和 `rm` 会以命令名称作为提示启动新会话的问题 - 修复 `claude mcp list` 会遗漏 WebSocket(`ws`)MCP 服务器的问题;现在会列出每个服务器的 URL 和健康状态 - 修复配置条目省略 `type` 字段的 stdio 服务器,在 `claude mcp get` 中不显示 Type、Command、Args 或 Environment 的问题 - 修复配置了 git trace2 输出时,在 git 仓库之外 `.claude/settings.local.json` 中的允许规则会被搁置的问题 - 修复 `/claude-api` 评测运行器脚手架和报告生成器会通过输出文件路径上的符号链接或硬链接写入文件的问题 - 修复 `/claude-api` 评测运行器脚手架会将因达到 `max_tokens` 而截断的响应计入平均分的问题;现在这些响应会标记为已截断并单独统计 - 修复回复使用 `&nbsp;` 缩进文本(例如 Markdown 表格中的行标签)时,终端会将其显示为原样文本的问题 - 修复非全屏模式下,较长会话中途会短暂冻结(最多一秒)的问题;`/clear` 或 `/compact` 后也会再次出现 - 修复当编辑目标是设备(例如指向 `/dev/null` 的文件符号链接),且批准来自 IDE 差异视图或修改了编辑内容时,已批准的 Edit 永远不会执行的问题 - 修复流式传输持续失败时,失败的 API 请求最多会重试 21 次的问题;非流式备用请求现在与原请求共用重试预算,不再获得一组新的重试次数 - 改进 Claude in Chrome:原生主机现在会报告计算机名称,因此可按计算机名称标记已连接的浏览器,而不是显示“浏览器 1”/“浏览器 2” - 改进 Bedrock 和 Vertex AI 会话:管理员移除了默认模型的访问权限时,会切换到同一层级中较旧且仍可用的模型,而不是直接失败;会话标题和摘要也会随之回退 - 改进插件 marketplace 错误信息:现在会说明 git 地址被拒绝的原因,而不是归咎于企业策略 - 改进插件、marketplace 和当前仓库远程地址的 git URL 校验 - 改进 Artifact 工具结果:现在会建议在编写或编辑页面的同一步骤中发布,从而减少一次往返 - 改进 Remote Control:向由 Claude Desktop 等应用托管的会话提出 `/btw` 旁问时,现在能看到正在进行的回合,而不只是上一个已完成的回合 - 改进 Claude 发送的 BMP、HEIC、HEIF、AVIF 或 TIFF 图片:Claude 应用现在会显示预览,并允许 Claude Code 转换这些图片 - 改进自动模式下的子代理:子代理现在会在向调用方提交报告后立即结束运行,不再执行无人接收的额外回合 - 改进 Bedrock 和 Vertex 的启动模型检查:账户无法使用的模型现在会记忆最多一天,不再每次启动都重新检查 - 改进 Artifact 工具的发布结果以减少 token 用量:更新 artifact 的说明更简短,发布后也不再重复说明如何查找 artifacts - 改进非流式备用请求期间的 SDK 活跃状态:开启部分消息后,Anthropic API、AWS 上的 Claude Platform 和网关现在每 30 秒发送一次 `ping` 流事件 - 改进对后台运行会话使用 `/resume` 和 `claude --resume` 的行为:现在会打开该会话,而不是拒绝操作;使用 `claude --resume <id> "prompt"` 提供的提示会作为该会话的下一回合发送 - 改进配置了大量权限拒绝规则和 MCP 工具时的每回合性能 - 改进关闭长会话中的 ctrl+o 转录视图时的响应速度(全屏渲染关闭时) - 改进 Bedrock、Vertex 和 Mantle 的启动模型检查:现在会像常规请求一样发送相同的 User-Agent、x-app 和会话 ID 请求头 - 调整 MCP 工具行为:若工具自行将 `_meta['anthropic/alwaysLoad']` 设为 false,即使其 `--mcp-config`、Agent SDK 或插件服务器设置了 `alwaysLoad`,该工具仍会保持延迟加载 - 调整后台 Bash 和 PowerShell 命令,使其在达到时间限制后停止(通过 `run_in_background` 设置的 `timeout`,默认 30 分钟,最长 2 小时);命令停止时会通知 Claude - 调整 Code Review 的拉取请求审查和 `/ultrareview`:启用 `disableWorkflows` 时仍会运行,除非运行审查的机器通过其自身管理员(MDM 或托管设置文件)设置了该选项 - 调整使用自定义 `ANTHROPIC_BASE_URL` 的会话:对于支持 1M 上下文窗口的模型(Opus 4.7+、Sonnet 5+、Fable),现在会使用该窗口;如果网关限制在 200K,请运行 `/autocompact 200k` - 调整 Team 和 Enterprise 会话,以及 Claude Code 无法确定登录方案的会话:如果启动时无法加载组织策略,则在策略加载前不提供 WebFetch - 调整 `/memory`:现在无法从后台会话或 Claude Code 自身工具启动的会话中启用 Auto-memory;但仍可在这些会话中将其关闭 - 调整将自动模式设为默认权限模式的一次性提示:当用户设置默认使用其他模式时,现在也会在第三方提供商和关闭遥测的情况下显示 - 调整第三方提供商或关闭遥测时的 `claude -p` 和 Python Agent SDK 会话:未配置权限模式时,现在会像交互式会话一样以自动模式启动;`--permission-mode` 仍可覆盖该设置 - 调整发送到非默认端口的 Bedrock、Mantle 和 AWS 上的 Claude Platform 请求:现在会在 SigV4 签名的 Host 请求头中包含端口 - 调整云端会话和自托管运行器中保留的 MCP 服务器名称 `widgets`:使用该名称或相近拼写(如 `widgets_`)的自有服务器现在不会加载,请为其改名 - 调整 macOS 和 Linux 上的 `/ultrareview`:上传本地检出内容时会忽略符号引用;当前分支为符号引用的检出现在会被拒绝并说明原因 - Windows:调整项目和本地设置中的 `env`,不再设置 `ALLUSERSPROFILE`、`SystemDrive` 或 `CommonProgramFiles` 变量;请改在用户设置或托管设置中设置这些变量 - 调整 `/tasks`:Claude Code 为自身运行的后台工作现在会折叠在一个“系统任务”行中;按 Enter 可展开查看这些任务 - 调整 macOS 和 Linux 上的 `/ultrareview`:上传本地仓库需要 git 2.31 或更高版本;使用 `--separate-git-dir` 创建的检出现在会被拒绝,不再通过旧方法上传 - 调整 macOS 和 Linux 上的 `/ultrareview` 上传:在 git 2.31 或更高版本中,部分克隆现在会作为工作树快照发送;若 git 版本看起来过旧,不再回退或拒绝上传 - 调整 macOS 和 Linux 上的 `/ultrareview` 上传:旧版 git 缺少部分工作树文件的部分克隆现在会被拒绝,而不是尝试获取文件;未使用 `--filter` 创建的克隆可以上传 - 调整 Bedrock、Vertex 和 Mantle 的启动模型检查:现在会像其他 Claude Code 请求一样将自身标识为 Claude Code - 调整 `claude mcp get`:隐藏由插件提供的 stdio MCP 服务器的命令、参数和环境变量值;仍会显示变量名称 - 调整 `/claude-api`:现在无法再通过 Remote Control 客户端运行 - 调整 `/config chrome=true`:现在会引导用户前往 `/config` 面板,而不是默认启用 Claude in Chrome;如果 Claude in Chrome 已启用,`/config chrome=false` 仍可将其关闭 - 调整沙盒设置:项目设置无法再放宽或关闭管理员要求的沙盒、替换受托管拒绝列表保护的代理、扩展严格允许列表,或重新开放托管的读取拒绝项 - [VSCode] 新增提示:窗口重新加载中断某个回合且不会再有回复时,会显示在已恢复标签页的最后一条消息下方 - [VSCode] 在 Manage plugins 中新增插件选项表单:安装带选项的插件时会询问尚未设置的选项,之后也可通过插件行上的齿轮图标进行修改 - [VSCode] 新增按需诊断工具:Claude 在面板中可随时读取 Problems 面板当前的错误和警告,而不只是编辑文件后立即读取 - [VSCode] 修复输入斜杠命令后按 Enter 会运行模糊匹配选中的无关菜单项,或什么也不做的问题 - [VSCode] 修复长会话中打开的代理转录视图会丢失代理较新的消息的问题 - [VSCode] 修复引用 Claude Code 或 IDE 标签的消息会丢失后续文本的问题 - [VSCode] 修复 Claude 工作期间发送的消息在重新打开会话后从对话中消失的问题 - [VSCode] 修复切换账户后,会话列表中的 Web 标签仍显示上一个账户会话的问题 - [VSCode] 修复在设置了 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 的情况下启动 VS Code 时,即使关闭了 Reload 后继续,已恢复标签页仍会重新运行中断回合的问题 - [VSCode] 修复点击命令菜单中的某一行后,按 Escape 会停止正在运行的回合,而不是关闭命令菜单的问题 - [VSCode] 修复打开 Past conversations 会用已保存副本替换实时对话的问题 - [VSCode] 修复扩展重启后重新加载的 Claude 标签页会保持空白,而不是显示如何恢复会话的提示 - [VSCode] 修复打开已在其他窗口或应用中打开的对话时,会在不提示的情况下启动第二个副本的问题;现在会先询问 - [VSCode] 修复窗口重新加载后,hook 阻止或停止提示的原因会消失的问题 - [VSCode] 修复标签页卡在无法恢复的对话上的问题:现在会明确显示错误,并提供开始新对话的选项 - [VSCode] 修复编辑器在工具运行前未响应扩展自动保存时,每次文件 Read、Write 和 Edit 都会卡住十分钟后被跳过的问题 - [VSCode] 修复代理地图将子代理标记为会话模型,而不是其实际运行模型的问题(例如由 `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` 或代理自身的 `model` 指定的模型) - [VSCode] 修复在 Manage plugins 对话框中卸载插件时移除了错误的安装,或无法卸载为项目安装的插件的问题 - [VSCode] 修复返回后再次选择相同登录方式时,登录流程仍停留在授权码步骤的问题 - [VSCode] 修复长会话裁剪最早的行时,聊天面板会卡住的问题 - [VSCode] 修复运行大量代理时,会话中的对话消失的问题 - [VSCode] 修复通过 `/rename`、SessionStart hook 或 claude.ai 重命名会话后,编辑器标签页仍保留旧名称的问题 - [VSCode] 修复代理地图的转录视图会遗漏发送给正在运行的代理的消息的问题 - [VSCode] 改进 Manage plugins 对话框:插件操作失败时现在会弹出说明,并在有可行修复方案时提供该方案 - [VSCode] 调整 Manage plugins 对话框:移除 marketplace,或关闭项目共享 `.claude/settings.json` 中启用的插件前,现在会先询问 - [Cloud sessions] 修复例行任务尚未开始就被拒绝时,点击 Run now 会显示内部错误文本的问题;现在会显示与例行任务失败通知相同的说明 - [Cloud sessions] 调整 `MCP_DISCOVERY_CACHE=1`:若在云端环境变量而非设置文件中设置,重启会话后现在会复用连接器的工具列表;其他 MCP 服务器不再缓存,并会在启动时连接 - [Claude Tag] 为同时拥有 Cowork 的 Enterprise Standard 或 Usage-Based Chat 席位成员新增与 Claude 的直接消息功能;不再要求席位包含 Claude Code - [Claude Tag] 修复管理设置和频道 Configure 页面中的 Default model 设置会提供组织无法使用的模型,导致保存设置或创建新会话失败的问题 - [Claude Tag] 修复 Claude 后续编辑 Slack 消息后,消息下方关于其使用备用模型作答及原因的说明会消失的问题 - [Code Review] 修复 Code Review 的“Add a repository”对话框中的组织菜单只显示少数 GitHub 组织的问题;现在会在滚动时加载更多组织 - [Code Review] 改进 Code Review 检查运行结果:当仓库的 REVIEW.md 未生效时会明确说明,例如拉取请求过大,或 REVIEW.md 是符号链接时