Claude Code v2.1.293:默认模型换为 Haiku 5.5
v2.1.293
推荐理由
Haiku 5.5 成为默认模型直接改变核心推理能力与成本结构;修复的 HTTP MCP 内存泄漏及后台会话状态错乱属于严重稳定性问题,建议立即升级以保障 Agent 运行稳定。
What's changed
变更内容
- Added Claude Haiku 5.5 (claude-haiku-5-5), now the default Haiku model on the Anthropic API — 1M context, $0.10/$0.50 per Mtok ($0.50/$2.50 for prompts over 100K)
- Added agentType to the subagentStatusLine payload, so scripts can tell custom subagent types apart
- Added isDeferred to $.tool.register for mods: false lists the tool's schema in the prompt from the start instead of behind tool search
- Fixed Claude sometimes treating its own last actions before a context compaction as done after it, and retracting or redoing finished work
- Fixed a memory leak where an HTTP MCP connection kept every request it had sent until it closed
- Fixed a message sent while Claude was working being lost when ← moved the session to the background; if a queued message can't move, ← now stays put and says so
- Fixed /model effort ←/→ wrapping past the highest or lowest level, which could accidentally save Low as a model's default effort
- Fixed /tui disconnecting Claude in Chrome in a session started with --chrome, and ignoring --no-chrome
- Fixed Claude being told to continue or message subagents with SendMessage in sessions, including resumed ones, where a host, a permission rule or a --tools list removed that tool
- Fixed subagents and --agent sessions being told a built-in tool was disabled for the whole session when only their own tool list left it out
- Fixed a claude.ai-synced skill's edited description sometimes not reaching the model until a new conversation or /clear
- Fixed claude logs, stop, kill, rm and claude daemon status, stop, uninstall sometimes signing you out when your login had expired or was about to
- Fixed the footer's agents count disappearing after a momentary failure to read the sessions folder (for example, too many open files)
- Fixed a custom agent named worker being shown as "Agent" when it starts, and the agent detail dialog's title losing the agent type once the agent finishes
- Fixed the Artifact tool's transcript row briefly reading Artifact("(unprintable path)") while a publish call was still streaming in
- Fixed the /ultrareview upload on Linux wrongly refusing some repositories, such as one inside another checkout, over a settings file that "could not be parsed" while a sandboxed command was running
- Fixed the /ultrareview upload's refusal over split-index files advising a git command that could leave git unable to read its index
- Fixed replies in very long Remote Control and cloud sessions that could still appear a block at a time instead of streaming in
- Fixed Remote Control uploading a session's starting history again after every credential recovery
- Fixed PushNotification reporting "Remote Control inactive" in sessions started with claude remote-control
- Fixed a mod's hooks on classic.* events being skipped while the plugin hooks worker restarts, which left settings hooks to answer without them
- Fixed claude plugin test failing for mods that call $.session.append; tests can read the appended rows back with the new mock.session
- Fixed claude plugin eval refusing every Bash-granting run on Macs with Docker Desktop (links under ~/.docker/bin); the refusal now names which part of a credential store held the link
- Fixed the Claude apps gateway refusing to start when a desktop policy sets Claude Desktop's built-in browser keys, such as builtinBrowserEnabled
- Fixed claude agents offering bypass permissions that background sessions then ignored when consent was saved only in .claude/settings.local.json or a --settings file; it now asks for consent first, and a session that ignores bypass shows a short notice that stays
- Fixed ← backgrounding a session after 10 seconds while the prompt held unsent text (it now cancels the move) or a question was waiting for your answer
- Fixed Esc, or No without feedback, on a permission prompt not stopping the turn when ← had just been pressed to move the session to the background
- Fixed the agents view briefly replacing the session list with placeholder rows when the sessions folder could not be read (for example, too many open files)
- Fixed path-scoped rules and nested CLAUDE.md files not loading when Claude views a file with a single-file cat, head, tail, sed -n or grep command in the Bash tool instead of the Read tool
- Fixed pasted text that begins and ends with the same words sometimes being sent to Claude as if it had been typed
- Fixed a skill name in pasted text being treated as typed when an accent typed or pasted right after the paste merged into its last letter
- Fixed /feedback returning to the drafts list after Ctrl+O or Ctrl+Z while a report was sending, leaving the send impossible to cancel
- Fixed claude purge stopping silently (exit 0, or a hang in a terminal) when a file or folder could not be deleted; it now deletes the rest, lists what it could not delete, and exits 1
- Fixed keybindings.json checks: a lone " " (space key) is no longer reported as an error, and keys like "ctrl+ k" now get a warning
- Fixed vim mode >> and << on a line of only spaces leaving the cursor past the end of the line, where a following x deleted nothing
- Fixed vim mode: after deleting whole lines in Visual mode (V then d) the cursor lands on the first non-blank, and . after it acts on the cursor's line
- Windows: Fixed stopping a status line, hook, or shell command sometimes terminating an unrelated process that had been given the same process ID
- Reverted the auto mode denial message change from 2.1.281 that told Claude a denial covers the outcome, not only the exact command
- Reverted the 2.1.290 fix for cloud sessions staying asleep after a container restart lost a pending /loop wakeup or scheduled task; Claude is no longer told, and the session stays asleep
- Improved startup for Team and Enterprise organizations: policy and managed settings are fetched earlier, and a stalled request is retried after 3 seconds
- Improved Claude in Chrome: fewer page actions are refused when the browser is slow to report its tabs
- Improved the Claude in Chrome message in cloud sessions when the browser can't be reached: if you belong to more than one organization, it now says the extension must be signed in to the same one, and how to change that
- Improved the Bash edit diff note to say the listed files changed while the command ran, which can include writes by other processes
- Improved artifacts: Claude pins libraries to exact versions two weeks old or older
- Changed claude.ai skill syncing to check for changes about every 40 minutes, instead of every 10, while no session is in use
- Changed the order of agent lists and of MCP servers announced to the model: names with non-ASCII characters now sort after ASCII names
- Changed OpenTelemetry claude_code.at_mention logging to emit at most 100 agent and 100 MCP-resource events each time a prompt is read
- Self-hosted runner: Changed the orchestrator to sleep 4 to 6 seconds between polls instead of a constant 5, so several replicas for one environment stop polling at the same moment
- [Claude Tag] Fixed Claude in Slack saying a workspace isn't set up in Enterprise Grid channels shared across workspaces when Slack labels a message with a workspace that isn't connected
- [Claude Tag] Fixed Claude in Slack stopping mid-task in a channel when an admin changed the channel's connectors, plugins, skills or rules; the change now applies once Claude finishes
- [Claude Tag] Fixed asking Claude in Slack to run a thread's routine now with extra notes starting a separate run that couldn't post back; the run now continues in that thread
- [Claude Tag] Fixed an access bundle's Add a connector dialog in Claude Tag admin settings showing every Google connector as connected after one Google sign-in
- [Claude Tag] Improved Claude Tag admin settings to list an Enterprise Grid that isn't connected yet, with a Connect button
- 新增 Claude Haiku 5.5 (claude-haiku-5-5),现为 Anthropic API 上的默认 Haiku 模型——支持 1M 上下文,每百万 token 价格 $0.10/$0.50(超过 100K 的提示词为 $0.50/$2.50)
- 在 subagentStatusLine 负载中新增 agentType,以便脚本区分自定义子代理类型
- 在 $.tool.register 中新增 isDeferred 参数供模组使用:设为 false 时,工具模式将从一开始就包含在提示词中,而非隐藏在工具搜索之后
- 修复了 Claude 有时会将上下文压缩前自身的最后操作误判为压缩后发生,从而撤回或重做已完成工作的问题
- 修复了内存泄漏问题:HTTP MCP 连接会保留其发送过的所有请求,直到连接关闭
- 修复了在 Claude 工作时将会话移至后台(按 ←)导致消息丢失的问题;如果排队中的消息无法移动,← 现在将保持原位并提示用户
- 修复了 /model effort ←/→ 在最高或最低级别之外循环的问题,这可能导致意外地将 Low 保存为模型的默认努力级别
- 修复了在使用 --chrome 启动的会话中,/tui 断开 Chrome 中 Claude 的连接,以及忽略 --no-chrome 参数的问题
- 修复了在会话(包括恢复的会话)中,当主机、权限规则或 --tools 列表移除了 SendMessage 工具时,Claude 仍被指示继续执行或使用该工具向子代理发送消息的问题
- 修复了子代理和 --agent 会话被告知内置工具在整个会话中被禁用,而实际上仅在其自身工具列表中未包含该工具的问题
- 修复了 claude.ai 同步的技能编辑描述有时需等到新对话或执行 /clear 才会传递给模型的问题
- 修复了 claude logs、stop、kill、rm 以及 claude daemon status、stop、uninstall 命令在登录已过期或即将过期时有时会注销用户的问题
- 修复了因短暂无法读取会话文件夹(例如打开文件过多)而导致页脚中的代理计数消失的问题
- 修复了名为 worker 的自定义代理在启动时被显示为“Agent”,且代理详情对话框标题在代理完成后丢失代理类型信息的问题
- 修复了 Artifact 工具的转录行在发布调用仍在流式传输期间短暂读取为 Artifact("(不可打印路径)") 的问题
- 修复了 Linux 上 /ultrareview 上传错误拒绝某些仓库(例如嵌套在其他检出中的仓库),原因是运行沙盒命令时配置文件“无法解析”的问题
- 修复了 /ultrareview 上传因 split-index 文件而拒绝时,建议执行的 git 命令可能导致 git 无法读取其索引的问题
- 修复了在极长的 Remote Control 和云会话中,回复可能仍以块为单位逐块出现而非流式传输的问题
- 修复了远程控制在每次凭据恢复后再次上传会话启动历史的问题
- 修复了在通过 claude remote-control 启动的会话中,推送通知报告“远程控制不活跃”的问题
- 修复了在插件钩子工作进程重启期间,经典事件(classic.*)上的模块钩子被跳过,导致设置钩子在缺少它们的情况下仍会响应的问题
- 修复了调用 $.session.append 的模块在测试 claude 插件时失败的问题;现在测试可以通过新的 mock.session 读取追加的行
- 修复了 claude 插件在装有 Docker Desktop(链接位于 ~/.docker/bin 下)的 Mac 上拒绝所有授予 Bash 权限的运行操作的问题;现在拒绝时会指明凭证存储中哪一部分包含了该链接
- 修复了当桌面策略设置了 Claude Desktop 内置浏览器的密钥(如 builtinBrowserEnabled)时,Claude 应用网关拒绝启动的问题
- 修复了 claude 代理提供绕过权限,但后台会话仅在 .claude/settings.local.json 或 --settings 文件中保存同意时忽略这些权限的问题;现在它会先请求同意,且忽略绕过的会话会显示一条持久的简短通知
- 修复了在提示符包含未发送文本(现在会取消移动操作)或正在等待回答的问题时,← 键在 10 秒后将会话置于后台的问题
- 修复了在 ← 键刚被按下以将会话移至后台时,Esc 键或无反馈的“No”未能停止当前回合的问题
- 修复了当无法读取会话文件夹(例如打开文件数过多)时,代理视图短暂用占位行替换会话列表的问题
- 修复了在使用 Bash 工具而非 Read 工具查看带有单文件 cat、head、tail、sed -n 或 grep 命令的文件时,路径范围规则(path-scoped rules)和嵌套 CLAUDE.md 文件未加载的问题
- 修复了有时以相同单词开头和结尾的粘贴文本会被当作已输入文本发送给 Claude 的问题
- 修复了当紧随粘贴之后输入的或粘贴的重音符号与其最后一个字母合并时,粘贴文本中的技能名称被当作已输入文本处理的问题
- 修复了在发送报告时按 Ctrl+O 或 Ctrl+Z 会导致 /feedback 返回草稿列表,从而使发送操作无法取消的问题
- 修复了当文件或文件夹无法删除时,claude purge 命令静默停止(退出码为 0,或在终端中挂起)的问题;现在它会删除其余部分,列出无法删除的内容,并以退出码 1 退出
- 修复了 keybindings.json 检查问题:单独的 " "(空格键)不再被视为错误,而像 "ctrl+ k" 这样的按键现在会发出警告
- 修复了 vim 模式下,在仅包含空格的行上使用 >> 和 << 时,光标会移动到行尾之后,导致后续的 x 命令无法删除任何内容的问题
- 修复了 vim 模式:在可视模式(V 然后 d)中删除整行后,光标会定位到第一个非空白字符处,且随后的 . 命令将作用于光标所在的行
- Windows:修复了有时停止状态行、钩子或 shell 命令会终止具有相同进程 ID 的不相关进程的问题
- 回退了 2.1.281 版本中的自动模式拒绝消息更改,该更改曾告知 Claude 拒绝涵盖的是结果,而不仅仅是确切命令
- 回退了 2.1.290 版本的修复程序,该修复程序原本用于解决容器重启后云会话保持休眠状态时丢失待处理的 /loop 唤醒或计划任务的问题;现在不再告知 Claude,会话将继续保持休眠
- 改进了 Team 和 Enterprise 组织的启动过程:更早地获取策略和管理设置,并在请求停滞 3 秒后进行重试
- 改进了 Chrome 中的 Claude:当浏览器报告标签页缓慢时,减少页面操作被拒绝的情况
- 改进了云会话中当无法访问浏览器时显示的 Chrome 中 Claude 的消息:如果你属于多个组织,现在会提示扩展程序必须登录到同一个组织,并说明如何更改
- 改进了 Bash 编辑差异说明,指出列出的文件在命令运行期间发生了变化,这可能包括其他进程写入的内容
- 改进了 artifacts:Claude 将库固定为两周前或更早的确切版本
- 更改了 claude.ai 技能同步机制:在没有会话使用时,改为每约 40 分钟检查一次更改,而不是每 10 分钟
- 更改了代理列表的顺序以及向模型宣布的 MCP 服务器顺序:包含非 ASCII 字符的名称现在排在 ASCII 名称之后
- 更改了 OpenTelemetry claude_code.at_mention 日志记录,使其在每次读取提示时最多发出 100 个代理事件和 100 个 MCP 资源事件
- 自托管运行器:将编排器的轮询间隔从固定的 5 秒改为 4 到 6 秒之间的随机睡眠,以便同一环境的多个副本在同一时刻停止轮询
- [Claude Tag] 修复了 Slack 中的 Claude 在企业网格跨工作区共享的频道中,当 Slack 将消息标记为未连接的工作区时,错误提示工作区未在 Enterprise Grid 中设置的问题
- [Claude Tag] 修复了 Slack 中的 Claude 在管理员更改频道的连接器、插件、技能或规则时,在任务中途停止运行的问题;现在更改将在 Claude 完成后应用
- [Claude Tag] 修复了在 Slack 中询问 Claude 运行线程例程时,因额外备注启动独立运行而无法回传消息的问题;现在该运行将在该线程中继续
- [Claude Tag] 修复了 Claude Tag 管理设置中“添加连接器”对话框在单次 Google 登录后显示所有 Google 连接器均已连接的问题
- [Claude Tag] 改进了 Claude Tag 管理设置,使其列出尚未连接的 Enterprise Grid,并提供“连接”按钮
更进一步:量化金融体系
看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力