# v2.1.140 版本更新

- 来源：Claude Code：GitHub Releases（RSS）
- 作者：ashwin-ant
- 发布时间：2026-05-13 05:09
- AIHOT 分数：70
- AIHOT 标记：精选
- AIHOT 链接：https://aihot.virxact.com/items/cmp363noy03dvsl1quynww43s
- 原文链接：https://github.com/anthropics/claude-code/releases/tag/v2.1.140

## 精选理由

Claude Code 这次修了一批烦人小 bug，尤其是 /goal 不再装死、/loop 不再空转，用着难受的开发者可以立刻更新试试。

## AI 摘要

本次更新包含多项错误修复与体验优化。核心改进包括：增强了Agent工具的`subagent_type`匹配逻辑，现对大小写和分隔符不敏感；修复了`/goal`命令在特定钩子设置下无响应的问题，现会显示明确提示；解决了Windows系统上因缺失可执行文件导致的周期性事件循环停滞。此外，还修正了后台服务启动、远程设置认证重试、托管市场更新策略持久化、`/loop`命令调度冗余以及`Read`工具参数验证等多个问题。插件系统现会对因配置冲突而被静默忽略的默认组件文件夹发出警告。

## 正文

What's changed

Improved Agent tool subagent_type matching to accept case- and separator-insensitive values (e.g. "Code Reviewer" resolves to code-reviewer)

Updated agent color palette

Fixed /goal silently hanging when disableAllHooks or allowManagedHooksOnly is set — now shows a clear message instead of an indicator that never resolves

Fixed a regression in settings hot-reload where symlinked settings files caused misattributed change events and spurious ConfigChange hooks

Fixed claude --bg failing with "connection dropped mid-request" when the background service was about to idle-exit

Fixed background service startup failing on machines with enterprise endpoint security by allowing more time

Fixed remote managed settings not retrying on 401 — now retries once with a force-refreshed token

Fixed managed extraKnownMarketplaces auto-update policy not being persisted to known_marketplaces.json

Fixed /loop scheduling redundant wakeups to poll for background tasks that already notify on completion

Fixed a recurring event-loop stall on Windows when a missing executable (e.g. gh) triggered synchronous where.exe re-spawns on every check

Fixed Read tool calls failing validation when offset is passed as a whitespace-padded or +-prefixed string

Fixed native terminal cursor not staying at the input caret when the terminal loses focus

Plugins now warn when a default component folder (e.g. commands/) is silently ignored because plugin.json sets the matching key. Shown in /doctor, claude plugin list, and /plugin.
