← All briefs
Matins
12 changes / 3 actionable / 1 deep dive
Claude Code
  • Agent subagent_type matching is now case- and separator-insensitive. "Code Reviewer" resolves to code-reviewer, so you can stop worrying about exact casing or separator format in agent type names.
  • Settings hot-reload symlink regression fixed. 2.1.139 added symlink detection but introduced misattributed change events; if you symlink settings files, spurious ConfigChange hooks should stop (more below).
  • /goal no longer hangs when hooks are disabled. With disableAllHooks or allowManagedHooksOnly set, it now shows a clear message instead of an indicator that never resolves.

New in 2.1.140

2.1.140 (May 13, 2026)

  • 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
  • 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.

Notes

Settings hot-reload symlink saga

2.1.139 shipped a fix for symlinked settings detection, but it introduced a regression. That fix made hot-reload notice edits to symlinked ~/.claude/settings.json, which had previously been invisible. However, it caused change events to be attributed to the wrong settings source, triggering spurious ConfigChange hooks on unrelated files.

2.1.140 corrects the attribution. If you symlink your settings file (common in dotfiles repos) and saw unexpected hook firings after upgrading to 2.1.139, this is the resolution. Safe to re-enable any ConfigChange hooks you disabled as a workaround.