Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.308 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.238 ·

Reconnecting an SDK host swaps its hooks in and settles the ones left waiting

SDK hook swaps no longer leave tool calls hanging; stuck ones now ask you to retry.

You'll notice New Features
JSON All of v2.1.238
You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
HooksArea: what it touches
New FeaturesKind: in v2.1.238,
New FeaturesSection of the release
What

When the process that owns the stdin stream re-initializes and sends hooks along with it, the previous hook callbacks are retired and the new set is registered through one shared helper, and the reply to the initialize request states whether those hooks were applied. Any tool call whose PreToolUse hook never received an answer is no longer left hanging or quietly allowed through: it is settled with an explicit message asking you to retry. This is on for everyone on the SDK path in this build, with no flag to enable.

Details
  • The synthetic result for an unanswered call reads: "The SDK host reconnected before its PreToolUse hook answered, so this tool call was not executed. No one denied it; retry the same tool call."
  • Only a host that owns stdin locally can replace hooks this way. The transport flag permitting it defaults to true on the base transport and is overridden to false on the remote transport, so a client joining over the remote path cannot swap the hook set.
  • The tengu_reinit_pending_redelivery telemetry event, which fires when a re-initialization redelivers pending work, gained three fields: host_hooks_resent, host_hooks_applied and n_settled_hook_callbacks.
Evidence

The SDK host reconnected before its PreToolUse hook answered, so this tool call was not executed. No one denied it; retry the same tool call., host_hooks_resent

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

See this entry in the whole of v2.1.238 →

Feedback