What
The SDK lets other programs (called hosts) run Claude Code and control it. A host can send apply_flag_settings to change settings, including the model. Claude Code now has an extra check that can refuse the model sent this way. When it does, the model is not applied, and a restricted-model warning names the default model and the model actually in effect.
Before, the model was refused only when it was blocked and had no step-down model to fall back to.
Why
A host that changes the model this way may now see the change refused and replaced by a warning, rather than applied.
Names in the bundleapply_flag_settings
Documented inclaude-code/settings-reference
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
What makes a model choice count as refused under the new check is not clear.