What probably matters to youSection of the release
What
Managed settings are settings an organization deploys to its users. They gain two keys for restricting models, and both are read from managed settings only:
deniedModels blocks models even when availableModels allows them. A family alias blocks the whole family, and a model ID blocks that version in every spelling. Deny matching now also checks the host-managed provider's modelOverrides (stored as deniedModelsOverrides), including when availableModels is set, so provider-specific IDs cannot slip past the list.
availableModelsMatch takes "prefix" (the default) or "exact". With "exact", a model ID in availableModels no longer allows later versions: "claude-opus-5" allows Opus 5 and its dated and -fast IDs, but not Opus 5.5. Family aliases still allow the whole family. Aliases whose model depends on the release or settings (best, opusplan, default) are ignored.
Choosing the default model in /model, or switching to "default", checks the policy first. If it is blocked, the switch is refused with a message saying it is blocked in deniedModels, or that none of the availableModels can be the default. The switch is also refused if the managed settings cannot be read, and the SDK model switch returns an error with code restricted_by_org.
When the default model is blocked, Claude Code steps down through the Opus, Sonnet and Haiku families, then tries the first usable availableModels entry. If nothing is usable, Claude Code will not start. The startup error reason managed_settings_invalid now covers this case too.
Settings validation shows warnings, for example for an empty deniedModels entry, for aliases that "exact" ignores, or for a family entry that still allows every future release.
Why
Admins can forbid specific models and pin allowlists to exact versions. Before, choosing "default" could get around these restrictions. A policy that leaves no allowed model stops Claude Code from starting, so check it before rolling it out. Hosts and IDEs get a clear reason when that happens.
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 availableModels, on Set up Claude Code for your organization.| [Model restrictions](/docs/en/model-config#restrict-model-selection) | `availableModels` filters which models appear in the picker. Adding `enforceAvailableModels` also constrains the auto-selected default model. See [surface coverage](/…admin-setupsee the edit
How sure we are
Two sources agreeTwo things we can check say the same as this entry.
Anthropic's documentation agreesAnthropic's documentation has since written up availableModels, on Set up Claude Code for your organization.
Anthropic's release notes agreeAdded availableModelsMatch managed setting: with "exact", an availableModels entry allows only the model version it names, so new releases…
The name it cites is new in this buildNew in this build: deniedModels