← 返回更新日志

Claude Code v2.1.248

2026-08-27 · GitHub 原文
## 变更内容 - 新增 `--restricted`(或 `CLAUDE_CODE_RESTRICTED=1`):移除运行命令或代码的内置工具以及 `WebFetch`(除非在 `--tools` 中明确指定);将文件工具限制在工作目录内;拒绝 `bypassPermissions`;并忽略用户、项目及本地设置文件 - 在代理 frontmatter 中新增 `experimental.cacheTtl`(`"5m"` 或 `"1h"`):当未配置子代理 TTL 设置时,用作每个代理的提示词缓存 TTL - 新增 `claude self-hosted-runner --client-label <label>`(或 `SELF_HOSTED_RUNNER_CLIENT_LABEL`),用于覆盖运行器注册时使用的标签(默认值:主机名) - 新增服务器托管设置诊断:设置加载失败时会在启动时发出警告;`/doctor` 和 `/status` 会显示加载失败的原因,或说明为何未获取设置(Bedrock/Vertex/第三方提供商、自定义 `ANTHROPIC_BASE_URL`) - 当 GitHub CLI 令牌缺少 `workflow` 权限范围时,`/web-setup` 现会发出警告,因为缺少该权限时,向非常大的仓库推送可能会被拒绝 - 为通过 AWS Marketplace 计费的 Enterprise 组织、自助式 Enterprise 组织以及 Enterprise 试用版新增 `/usage-credits`,成员可通过该命令向管理员申请更高的使用限额 - 在 Bedrock、Vertex 和 Foundry 上,以及禁用遥测时,新增同一台机器上不同会话之间的跨会话消息传递(`SendMessage` / `ListAgents`) - 修复了长会话中大约每小时发生一次的提示词缓存未命中(以及扩展思考上下文丢失)问题;该问题由 OAuth 令牌刷新后工具定义被重新渲染引起 - 修复了当账户进入超额使用状态后,`ScheduleWakeup` 工具定义在会话与其 `--resume` 恢复会话之间发生变化的问题;该问题会导致恢复会话的首轮出现完整提示词缓存未命中 - 修复了 Claude Desktop 和 Cowork 会话在 30 天后消失的问题:现在转录记录清理会保留仍在应用中的桌面端写入会话(除非组织策略管理保留期限);新的 `desktopSessionCleanupPeriodDays` 设置可限制该豁免期限 - 修复了当另一个 Claude Code 进程持有令牌刷新锁、且会话令牌已过期时被送往登录界面的问题;现在请求会改为以可重试错误失败 - Windows:修复了从会话分离后,或在仍处于 win32-input-mode 的终端标签页中启动时,`claude agents` 列表无法响应键盘输入的问题 - 修复了 `/login` 中推荐的 Console 登录方式:在无法使用该方式的机器上(例如设置了 `ANTHROPIC_API_KEY` 或 API 密钥辅助程序),其会在显示登录 URL 前因 OAuth 错误失败;现在会回退至 API 密钥登录 - 修复了 `/model` 和快速模式切换通知中的模型名称渲染问题;现在会以代码格式显示,因此如 `[1m]` 之类的后缀会按字面显示,而非作为链接 - 修复了在设置 `CI` 环境变量时,`claude agents` 跳过工作区信任提示的问题 - 修复了当 PR 状态缓存包含格式错误条目时,`claude agents` 启动崩溃的问题 - 修复了机器关机后,代理视图重新唤起数周前后台会话的问题:此类会话现在会在其实际结束处显示为已停止,打开时会先询问是否恢复其已保存的对话 - 修复了启动新会话时,代理视图有时会打开旧对话并丢弃已输入提示词的问题 - 修复了 `claude agents`:打开一个已停止、但你已在另一终端中恢复的会话时,不再为该对话启动第二个进程;该行现在会显示它已在终端中打开 - 修复了当某会话的工作树分支已合并到当前检出的默认分支(例如本地 `main`)但尚未推送时,`claude agents` 和 `claude rm` 拒绝删除该会话(“has commits that are not pushed anywhere”)的问题 - 修复了当 `PermissionRequest` 或 `PreToolUse` 钩子输出无效响应时,后台会话会静默等待的问题:`claude agents` 行现在会显示钩子名称和架构错误 - 修复了钩子将不是有效 JSON 的 stdout `{…}` 对象静默视为纯文本的问题;现在会将其报告为包含解析消息的钩子错误 - 修复了 `/mcp` 将声明 claude.ai 连接器类型的项目 `.mcp.json` 条目列在受信任的“claude.ai”标题下的问题;现在它会显示在其实际作用域下 - 修复了当 MCP 服务器的 `headersHelper` 提供 `Authorization` 标头时,遇到 401 会进入 OAuth 发现流程,而不是按文档说明重新运行辅助程序并重试调用的问题 - 修复了需要托管设置安全审批对话框时,登录 Claude 应用网关的 `/login` 卡住的问题 - 修复了当 `apiKeyHelper` 是唯一凭据时,网关模型发现(`CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY`)从不运行的问题 - 修复了 `claude logs` 会在其运行的终端中保持启用鼠标追踪、括号粘贴和备用屏幕的问题 - 修复了信任对话框中的仓库权限规则列表:当一条长规则在 emoji 中间被截断时会显示乱码字符的问题 - 修复了在按下 Ctrl+C 后立即按 Shift+Tab 时,权限模式指示器仍被“再次按 Ctrl-C 退出”提示遮挡的问题 - 修复了 `/ultrareview` 和本地初始化的云会话会上传对 `prod.env` 风格文件、`*.tfvars` 文件、编辑器交换文件、临时文件以及凭据文件备份副本(例如 `key.pem.tmp`、`id_rsa.swo`)的未提交修改的问题;现在这些文件会保留在你的机器上 - 修复了 Remote Control 会话在 CLI 静默重新连接后,偶尔永远不显示权限提示或连接设备上的最新消息的问题 - 修复了当容器的会话凭据尚不可读取时,云会话偶尔在启动时失败的问题 - 修复了当全局标志或包装器注入的选项位于子命令之前时,`claude remote-control` 拒绝其自身标志(例如 `--spawn`、`--name`)的问题 - 修复了启动警告(例如“N MCP servers need authentication”)在转录记录其余内容右侧一列显示的问题 - 修复了后台工作树会话丢失其检出内容的问题:后台会话运行期间现在会持有工作树锁,因此清理操作和 `git worktree remove` 不会影响它 - 修复了对其他会话的 @ 提及无法匹配使用非拉丁字符输入的名称的问题(例如通过输入法输入的韩文) - 修复了无效的 `crossSessionInbound` 值被静默忽略的问题:现在会发出警告,并在修复前暂存跨会话消息(用户设置),或拒绝这些消息(托管设置) - 修复了当组织无法使用该命令时,速率限制、用量和快速模式消息仍提示运行 `/usage-credits` 的问题(例如该命令被 `DISABLE_EXTRA_USAGE_COMMAND` 隐藏时) - [VSCode] 修复了当聊天标签页的会话从未保存时卡在“No conversation found”的问题;现在会改为启动新对话 - 改进了 Workflow 工具的提示词占用:其描述现约为 1k token,而非 5.7k;脚本编写参考已移至打包的 `workflow-authoring` 技能中 - 改进了提示词页脚中的 PR 徽章:当拉取请求未变化时,减少检查 GitHub 的频率;推送或执行 `gh pr` 命令仍会立即刷新 - 改进了托管设置:客户端超时、MCP 启动模式和流监视器环境变量不再触发设置审批提示 - 改进了 `/ultrareview <PR#>`:启动前会检查与你的 Claude 账户关联的 GitHub 账户是否可访问该仓库,并说明修复方法,而非在云会话启动后才失败 - 改进了跨会话消息传递:默认目录无法使用时,会回退到每用户私有的 `/tmp` 目录;通知和 `/status` 会标明需要修复的目录 - 修改了代理视图调度输入框中的 Shift+Enter 行为:现在会插入换行符(与提示词一致);Ctrl+Enter 现在会调度并附加 - 修改了 `/loop`:自定节奏的动态模式和无需提示词的自主默认模式现始终可用,包括在 Bedrock/Vertex/Foundry 上 - 修改了 Anthropic 遥测导出失败的日志级别:现在会以 `[Anthropic telemetry]` 记录在调试级别,而非以 `[3P telemetry] OTEL diag error` 记录,以避免被误认为是你的 OTel 收集器发生故障 - 修改了 Linux 用户命名空间中的跨会话消息传递:对未映射所有者的等同 root 信任现仅限于规范的系统目录 - 修改了从子代理向另一会话发送的 `SendMessage`:结果现在会说明,任何回复都会传递至父会话的对话,而非子代理