Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.251 Home All releases olderv2.1.250
Claude Code v2.1.251

Model switches from the SDK now go through hooks

You'll notice
Useful3 Signal3
SDK

Model switches over the SDK now ask your hooks first and can be blocked.

What

A model switch requested over the SDK bridge while tool calls are still pending is no longer applied straight away. It asks the hook pipeline first and applies only if the decision is "proceed"; otherwise the switch is blocked, recorded in telemetry, and any messages the hook produced are shown in the transcript.

Details
  • With no pending tool calls, the switch still applies immediately without consulting hooks.
  • Blocked switches are reported as a model_switch event with the outcome blocked_by_hook.
Evidence

g("model_switch", "blocked_by_hook")

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.251 →