Follow Discord
Sweep 09 Oct 2026 · 17:27Z Build v2.1.296 517 read Stable v2.1.287 Latest v2.1.296 Next v2.1.296 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.296 ·

Hooks worker watchdog stops blaming a worker that got no processor time

The hooks worker watchdog now checks processor time used, so a worker that was never given CPU time is not blamed for hanging

You'll notice Bug Fixes
JSON All of v2.1.296
You'll noticeTier: how much it should matter to you
1Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
HooksArea: what it touches
Bug FixesKind: in v2.1.296,
Bug FixesSection of the release

Unclear How much of the processor-time check is actually active in this build is not clear.

What

Hooks are commands you set up to run automatically at certain moments. Claude Code runs them on a separate background worker, and a watchdog sends it regular check-ins, called heartbeats, to spot when it has stuck.

Before, a fixed number of unanswered heartbeats ended the worker, and a culprit was named whenever one was found. Now:

  • The watchdog reads how much processor time the worker has actually used. A worker that has not been running is no longer blamed; the verdict says it had not used a window of processor time.
  • A second timeout path ends with the cause heartbeat_waited and the message "what held the hooks worker is not known".
  • Waits for plugins to load and build now use timers that extend while the worker is busy.
Why

This should cut down on hooks workers being stopped by mistake on slow machines, or on machines that were suspended, such as a laptop that went to sleep.

How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtHow much of the processor-time check is actually active in this build is not clear.

See this entry in the whole of v2.1.296 →

Feedback