What probably matters to youSection of the release
What
Changing model or effort level from the /model menu now runs hooks first, showing a "Running PreModelSwitch hooks…" spinner. A block decision cancels the switch and shows the hook's reason; ask sends you to the confirmation dialog with that reason as the prompt. Any system messages the hook returns are appended to the resulting notice.
Details
The same pass runs when an SDK client changes model or agent through apply_flag_settings; anything other than proceed blocks the switch and reports back over the control channel.
If the session's model changes while the hooks are still running, the request is rejected with "agent switch not applied: the session's model changed while PreModelSwitch hooks ran; send the request again".
Only has an effect if a PreModelSwitch hook is configured.
Evidence
Running PreModelSwitch hooks…, agent switch not applied: the session's model changed while PreModelSwitch hooks ran; send the request again
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Confirmed sinceAnthropic's documentation has since written up /model, on All settings.Cap the [effort level](/docs/en/model-config#adjust-effort-level) a session can use, leaving lower levels available. Any higher level runs at the cap instead, including one from `/effort`, the `/model` picker, `--effort`, [`CLAUDE_CODE_EFF…settings-referencesee the edit
Added sinceA small documentation edit on Agent SDK reference - TypeScript touched a line naming /model after this was published.`effortLevel` accepts an [effort level](/docs/en/model-config#adjust-effort-level) name. It also accepts `"ultracode"`, which requests `xhigh` effort with [ultracode](/docs/en/workflows#let-claude-decide-with-ultracode) on. `applyFlagSetti…agent-sdk/typescriptsee the edit
How sure we are
Two sources agreeTwo things we can check say the same as this entry.
Anthropic's documentation agreesA small documentation edit on Agent SDK reference - TypeScript touched a line naming /model after this was published.
Anthropic's release notes agreeAdded PreModelSwitch and PostModelSwitch hook events (block, confirm, or annotate a model switch); SessionStart resume hooks now receive…