← 返回更新日志

Claude Code v2.1.268

2026-09-10 · GitHub 原文
## 变更内容 - 向 Claude 应用网关添加了定价支持:在 `gateway.yaml` 中设置 `pricing:` 后,已登录的 Claude Code 客户端会通过托管设置获得相同费率,因此 `/cost` 和遥测数据会与支出计量器保持一致 - 当网关的 `access_control.allow_cidrs` 为空时添加启动警告;首次收到来自公共地址的请求时,还会显示一次性警告 - 添加了 `gatewayInternalNetworks` 托管设置,允许管理员通过组织自己的公共 IPv4 地址段访问 Claude 应用网关的 `/login` - 添加了 `claude self-hosted-runner --remove-session-state`(默认关闭):会话结束时删除该会话在 `<base-dir>/_sessions/` 下的专属目录 - 在 `claude auth status --json` 的输出中添加了 `configDirectory` - 为 `claude plugin install`、`uninstall`、`update`、`enable` 和 `disable` 添加了 `--json`;同时为 `claude plugin list --json` 的每一行添加了 `errorDetails`/`noteDetails` - 为已发布的制品添加了浏览器标签页图标,由 Claude 根据每个页面进行匹配 - 修复了自 2.1.265 起,在第三方 Anthropic 兼容端点(`ANTHROPIC_BASE_URL`)上每轮请求都失败并返回 HTTP 400 的问题:原因是这些端点不接受 Artifact 工具输入架构中的一个正则表达式 - 修复了 WebFetch 在服务器保持响应打开且迟迟不结束时无限挂起的问题;现在获取请求会在 300 秒后失败。可通过设置 `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` 覆盖截止时间(设为 0 可关闭) - 修复了进程内重启的协作代理从未信任文件夹中同名代理文件获取工具或系统提示的问题 - 修复了持续高 CPU 使用率问题:长时间运行的空闲会话中的忙等待循环不再占用整个 CPU 核心;会话摘要期间快速产生的终端焦点报告也不再导致 CPU 持续升高 - 修复了 Claude 有时在 MCP 工具调用后回复“你的消息似乎是空的”的问题 - 修复了符号链接目录上的拒绝和询问权限规则未生效的问题(macOS 上的 `/etc`、`/tmp`、`/var`;Linux 上的 `/bin`):当路径通过真实位置提供时,规则现在仍会生效;Bash 命令也不再忽略以符号链接路径形式书写的拒绝规则 - 修复了当权限检查器无法分析的 `env -C`、`eval` 或类似命令与 Read 或 Edit 拒绝规则出现在同一行时,规则不生效的问题 - 修复了插件和市场错误信息显示 git 源 URL 中令牌或密码的问题 - 修复了 `/mcp` 和 `/plugin` 服务器详情、`claude mcp list`/`get` 以及 MCP 登录错误显示 MCP 配置中通过 `${VAR}` 占位符解析出的机密信息的问题 - 修复了使用 `excludeDynamicSections` 的 SDK 会话中,提示缓存和扩展思考在会话中途失效的问题:首条消息不再在每次请求时重新渲染 - 修复了拥有模型使用权限的用户在重启后或 Desktop Code 标签页中,因缓存的模型访问拒绝信息过期而被告知模型受限的问题 - 修复了当另一个 Claude Code 进程刷新过期的模型访问条目后,正在运行的会话悄悄切换到组织默认模型的问题 - 修复了 Pro 和 Team 计划在 Fable 模型上遇到长上下文 429 错误时显示使用额度同意提示,而不是显示 1M 上下文提示的问题 - 修复了通过配置文件使用工作负载身份联合时的问题(`claude-code-action` 会采用此配置):共享该配置文件的进程可能在运行中途失败并出现 `401 … jti reused` - 修复了 MCP 服务器 OAuth 登录失败并显示“No available ports for OAuth redirect”的问题,此问题发生在本地回调端口范围无法绑定时 - 修复了 `/compact` 和自动压缩生成的对话摘要错误处理包含 `$` 序列的文本的问题 - 修复了恢复以 `/compact` 结束的对话时,恢复文件备注每次加载顺序可能不同的问题 - 修复了 SDK 提示建议、侧边问题和 `/rename` 发送压缩前对话内容的问题 - 修复了使用向上箭头调出之前的提示并编辑后,`@` 文件建议和 `/` 命令建议不显示的问题 - 修复了 `claude agents` 中以正常速度再次按下 ← 返回代理列表时,按键会被忽略、必须暂停一秒以上才生效的问题 - 修复了 `claude agents` 删除会话在无法移除工作树时卡住的问题:现在消息会说明原因和下一步;对于 git 工作树,再次按下 ctrl+x 后仍会删除目录 - 修复了代理面板中的后台代理和工作流行在文本包含换行符时展开成多行的问题 - 修复了当组织托管设置配置 MCP 允许列表时,Claude in Slack 会话丢失 Slack 工具的问题 - 修复了当导航 URL 有协议但无法解析出主机时,Claude in Chrome 要求允许主机“https”的问题 - 修复了当前任务标签较长时,加载指示器换成多行的问题;标签和“Next:”任务行现在会保持在同一个终端行内 - 修复了终端启用原生光标时,`/bug` 和 `/feedback` 描述字段不显示光标的问题 - 修复了通过 `claude remote-control` 提供的 Remote Control 会话在 `ListAgents` 中显示生成名称而不是会话标题的问题 - 修复了 `claude plugin validate` 拒绝目录名以两个点开头的插件路径的问题;插件加载器本身可以接受此类路径 - 修复了插件静默跳过无法检查的默认监视器文件或根目录 `SKILL.md` 的问题 - 改进了 WebFetch 对 localhost 和其他不含点的主机名的错误提示,现在会解释拒绝 URL 的原因并建议使用 curl - 修复了 `--print` 模式下 PermissionRequest hooks 不触发的问题 - 修复了无头模式(`-p`)运行时不显示 policy-helper 警告的问题 - 修复了 `/resume` 将 `/fork` 后台会话列在父会话名称下,而不是使用其自身 `⑂` 分叉名称的问题 - 修复了 `/remote-control` 和其他受 claude.ai 控制的命令在未登录时显示 Claude for Enterprise 迁移消息的问题;现在会建议使用 `/login` - 修复了 `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` 无法延长没有单独设置 `timeout` 的 SessionEnd hooks 的问题(这些 hooks 仍会在 1.5 秒后被取消) - 修复了 `/autofix-pr` 和其他云会话命令在未连接 GitHub 账户时提示重试或安装 Claude GitHub App 的问题;现在会指向 `/web-setup` 或网页连接页面 - 修复了 `/teleport` 和 `/remote-env` 等云会话命令在组织策略关闭这些功能时回复“Unknown command”的问题;现在会解释功能被关闭的原因 - 修复了 Bash 沙箱说明夸大隔离范围的问题:文件系统隔离关闭时不再显示未强制执行的路径列表;严格模式也不再声称命令绝不会在沙箱外运行 - 改进了全屏模式:添加或删除提示行(Shift+Enter)现在会像输入字符一样快速重绘,而不是重新渲染可见的对话记录 - 改进了 `--continue`/`--resume`:对话会立即显示,不再等待 SessionStart hooks;首条消息也不再重新读取整个对话记录 - 改进了工具密集型轮次的响应速度:不再为隐藏的每批工具提醒重新绘制对话记录 - 改进了包含 `.claude/workflows/` 脚本的项目的启动速度:列出脚本时不再解析每个脚本 - 改进了自动模式拒绝提示:Claude 收到的消息现在会指出阻止操作的规则,并要求 Claude 尝试更安全的方法,在停止并询问用户之前先完成无关工作 - 改进了 Claude in Chrome:长页面读取现在会直接以内联方式保留,不再保存到文件后再读回 - 改进了 `MEMORY.md` 截断警告,现在会说明截掉了多少行以及截断从哪里开始 - 改进了终端中的制品权限提示,现在会先显示询问内容 - 改进了提示底栏:编辑器或 `/diff` 选择内容现在会显示在提示输入框中;全屏模式会在标题栏显示 Remote Control 状态,而不是显示在底栏 - 改进了“使用 1M 上下文需要使用额度”消息,现在会说明在会话中途开启的使用额度需要重启 Claude Code 后才会生效 - 改进了 `/plugin`:安装、启用或禁用插件现在会在关闭菜单时生效,之后不再需要 `/reload-plugins` - 更改了 Bedrock、Vertex 和 Foundry 上的系统提示,使其以附件形式提供环境、模型和设置详情,与一方会话保持一致 - 更改了 Bedrock、Vertex 和 Foundry 会话,使其在整个对话期间保持工具列表的字节稳定性(后续连接的工具会延迟加载,而不是重写工具列表),与一方会话保持一致 - 更改了任务跟踪工具(TaskCreate/Get/Update/List、TodoWrite)的提供范围:仅在 Claude 3.x、Opus 4.0–4.7、Sonnet 4.0–4.6 和 Haiku 4.5 上提供;在其他模型上可设置 `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` 启用 - 更改了终端中的制品数据编辑权限提示,将其改为显示文档数量以及可以打开制品的人员的卡片 - 更改了设置为跳过所有审批的本地 Cowork 会话:Artifact 工具现在会拒绝读取会话文件夹之外或符号链接后的本地文件,而不是直接读取 - 更改了普通 `WebFetch` 拒绝和询问规则,使其不再适用于 Artifact 工具的读取和更新;请使用 `Artifact` 规则(或 `WebFetch(domain:claude.ai)`)阻止或控制这些操作 - 更改了“N 个 MCP 服务器需要身份验证”的启动通知,使每个服务器只提示一次,而不是每次启动都提示 - [VSCode] 修复了在设置文件或 `environmentVariables` 设置中配置 `CLAUDE_CONFIG_DIR` 时,会话列表、设置切换项和聊天标签页出现问题的问题 - [VSCode] 修复了登录、登出或切换账户后,已打开标签页中的模型标签、模型选择器和命令菜单短暂变为空白的问题 - [VSCode] 修复了当项目或本地设置覆盖 `~/.claude/settings.json` 中指定的模型时,新标签页或刚重新加载的对话中模式选择器里的 Auto 消失的问题 - [VSCode] 修复了配置 SessionStart hook 时,窗口重新加载后会话名称恢复为最后一条提示的问题 - [VSCode] 修复了当窗口中已有其他标签页运行时,底栏的模型标签和 Remote Control 标签仍需等待新标签页的 Claude 进程启动的问题 - [VSCode] 修复了当会话标签页的启动请求比配置读取晚超过半秒到达时,第二个 Claude 进程会完整执行一遍启动流程的问题 - [VSCode] 修复了从会话列表恢复会话时忽略 `claudeCode.preferredLocation: "sidebar"` 的问题(始终打开面板);同时修复了以编程方式打开会话时将该设置重置为 `"panel"` 的问题 - [VSCode] 修复了 Windows 相关问题:没有安装 WSL 的计算机不再显示 WSL 安装提示;安装 WSL 后,Windows 文件的 IDE 诊断现在会正确返回 - [VSCode] 修复了通过设置配置 `CLAUDE_CONFIG_DIR` 时,自定义样式构建器将用户级样式保存到 CLI 无法读取的文件夹中的问题 - [VSCode] 为键盘用户和屏幕阅读器用户添加了左、右方向键,用于更改永久允许权限规则的保存位置 - [VSCode] 添加了“Claude Code: Focus last message”命令,可将键盘焦点移动到对话中的最新消息,面向键盘用户和屏幕阅读器用户 - [VSCode] 更改了管理插件对话框,使安装、启用、禁用和卸载操作无需重启即可应用到已打开的会话 - [VSCode] 更改了部分制品权限提示,移除了“不要再询问”选项,与终端行为保持一致 - [Claude Code on the web] 修复了运行约六小时以上的云会话会悄悄丢失保存到持久化会话文件夹中的文件的问题;现在保存内容最多可持久化一天 - [Claude Code on the web] 修复了在管理员限制模型 effort 的组织中,例程恢复会话或会话启动时未设置 effort 时出现“Invalid effort level”错误的问题 - [Claude Code on the web] 改进了从对话创建例程的功能:当新例程没有连接器时,Claude 现在会说明这一点并解释如何添加连接器,而不只是确认创建成功 - [Claude Tag] 修复了管理员设置页面在加载骨架屏上卡住或在临时加载失败后变为空白的问题;加载失败的区块现在会显示“重试”按钮 - [Claude Tag] 在 Slack 频道配置页面添加了返回组织 Claude in Slack 管理设置的链接 - [Claude Tag] 修复了 Slack Enterprise Grid 频道被 Slack 管理员移动到另一个工作区后丢失 Claude 设置(代码库、环境、访问权限)的问题 - [Claude Tag] 改进了 Claude 对被阻止操作的解释:现在会说明是权限检查、Claude 自己决定先确认,还是缺少访问权限导致操作停止 - [Claude Tag] 提高了回复速度:Claude 现在会并行执行多个只读查询(搜索 Slack、读取线程、查找人员),而不是逐个执行 - [Claude Tag] 改进了比较内容的格式:句子长度的比较现在会以列表显示,而不是使用需要横向滚动的宽表格;较长的表格单元格也会换行 - [Claude Tag] 修复了在拥有独立会话的线程中使用 `@Claude !restart` 时,有时还会发布相互矛盾的“此线程由频道会话处理”通知的问题 - [Claude Tag] 改进了当 Claude 账户与 Slack 工作区属于不同组织时显示的消息,现在会解释如何将工作区连接到组织 - [Claude Tag] 修复了 URL 用尖括号包裹的 Markdown 链接在 Slack 中显示为字面括号文本而不是可点击链接的问题 - [Claude Tag] 修复了在允许访客使用 Claude 的频道中,工作区访客在顶层使用 `@mention` 时有时收到“你的 Slack 账户未连接”回复而不是答案的问题 - [Claude Tag] 修复了频道的长时间运行会话在对话中途被新的会话替换的问题;计划刷新现在会等待频道及其线程都处于空闲状态 - [Claude Tag] 修复了多次点击频道设置卡片时,即使更改已经应用,提议会话仍被告知更改遭到拒绝的问题;现在结果只会发送一次 - [Claude Tag] 更改了公共频道中的记忆功能:每个频道现在都有自己的备注,Claude 不再回忆其在其他公共频道中保存的备注;工作区备注仍然共享 - [Code Review] 在后续审查的未解决发现列表下添加了说明:解决发现对应的线程,而不仅仅是回复线程,才会阻止后续审查将其计为未解决 - [Code Review] 修复了验证某个发现的代理中途失败时,审查有时以未完成状态结束的问题;审查现在会替换该代理并得出结论 - [Code Review] 修复了推送触发的审查排在正在运行的审查之后时,即使拉取请求已转换为草稿,仍继续发布审查结果的问题 - [Code Review] 修复了当 PR 编辑了根目录文件(例如 `README.md`),且该文件仅与 `CLAUDE.md` 列出的某个文件同名时,审查忽略目录 `CLAUDE.md` 约定的问题