PreModelSwitch
A Claude Code hook event, read out of the shipped bundle. No mined inventory carries it: everything below comes from what this site has written about it.
Before Claude Code applies a model switch that you or a client requested. Can block the switch
Anthropic's own wording. Read off Hooks reference, captured 2026-11-11.
In the changelogs
13Releases whose published page names PreModelSwitch.
-
v2.1.307
Changing the model from a program now reports the model that applies
When a program changes Claude Code's model, the reply now names the model in use, and the wait message mentions the
PreModelSwitchhookfound in this entry's text
-
v2.1.302
Tools run remotely can use a location already checked by the remote runner
When a session runs a tool remotely, Claude Code can now use a location the remote runner has already checked
found in this entry's text
-
v2.1.295
A new setting limits what your own skills, agents and hooks can do
Setting CLAUDE_CODE_RESTRICT_PERSONAL_CONFIG stops your own skills, agents and hooks from widening permissions, and makes key hooks required
found in this entry's text
-
v2.1.295
Switching fast mode can now run hooks and wait for the workspace
Turning fast mode on or off now goes through a step that can run PreModelSwitch hooks and show "Waiting for the workspace…"
found in this entry's text, named in this entry
-
v2.1.284
Hooks from a plugin on an unavailable machine now fail with a clear message
Hooks from a plugin that runs on another machine now report that the machine is unavailable, instead of failing with an unexplained error
found in this entry's text
-
v2.1.260
PreModelSwitch/PostModelSwitch hook-load failures now give more actionable errors
Failed model-switch hook loads now give a specific, actionable error message.
found in this entry's text, named in this entry
-
v2.1.251
New PreModelSwitch and PostModelSwitch hooks
New PreModelSwitch and PostModelSwitch hooks let you gate or annotate every model change.
named in this entry, found in this entry's text
-
v2.1.251
/model switches can be blocked or held for confirmation by a hook
A PreModelSwitch hook can block or hold your /model change for confirmation.
named in this entry, found in this entry's text
-
v2.1.251
Fast mode now vets the model change through a hook before applying
Turning Fast mode on now runs your model-switch hook and can be refused.
found in this entry's text
-
v2.1.251
The /model menu and SDK flag changes wait on PreModelSwitch hooks
Model and effort changes from the picker now run hooks first and can be cancelled.
found in this entry's text
-
v2.1.251
Switch confirmation can show a hook's own reason
Model and effort switch dialogs can show that a PreModelSwitch hook asked you to confirm.
named in this entry, found in this entry's text
-
v2.1.251
Pending model switches now get an immediate reply and a follow-up
A model switch over the control bridge replies immediately as pending, then follows up with the result.
found in this entry's text
-
v2.1.251
Fast mode failures explain why
When fast mode can't toggle, the message says whether it timed out, was refused, or the model changed.
found in this entry's text
First cited
14The earliest release whose published evidence quoted PreModelSwitch was v2.1.251, 28 Aug 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
8 further spans in the ledger name it. The list above is the earliest first and stops at 6.
Presence across releases
0The miner has never read a build containing this name. It is here because a changelog entry of ours names it, which is evidence that it existed and not evidence of which releases carried it. The inventory starts at v2.1.138 and everything older than that was never mined.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the hook event does. All hook events.