{"name":"deniedModels","slug":"deniedmodels","family":"setting","title":"Settings keys","noun":"settings key","description":"[Block specific models](\/docs\/en\/model-config#block-specific-models-or-versions), even ones `availableModels` permits","description_source":"docs","described_by":{"doc":"claude-code\/settings-reference","title":"All settings"},"presence":{"first_seen":"2.1.283","removed_in":null,"in_current_build":true,"newest_mined":"2.1.283","builds":1,"mined_builds":126,"first_cited":{"version":"2.1.283","released_at":"2026-09-25 18:46:11","spans":4}},"aliases":[],"entries":[{"version":"2.1.283","anchor":"new-managed-settings-deniedmodels-and-availablemodelsmatc","heading":"Admins can block specific models and require exact version matches","line":"Managed settings gain `deniedModels` to block models and `availableModelsMatch` to stop an allowed ID covering later versions","released_at":"2026-09-25 18:46:11","reason":"found in this entry's text, named in this entry"},{"version":"2.1.283","anchor":"switching-to-the-default-model-now-checks-managed-availablem","heading":"Switching to the default model now respects your organization's model rules","line":"Choosing the default model now checks availableModels and deniedModels and is refused if your organization's managed settings block it","released_at":"2026-09-25 18:46:11","reason":"found in this entry's text, named in this entry"},{"version":"2.1.283","anchor":"managed-policies-deniedmodels-from-the-catch-all-policy-is","heading":"Models denied in the catch-all managed policy now apply to every policy","line":"`deniedModels` in the catch-all `managed.policies` entry is now combined with each specific policy's list instead of being replaced by it","released_at":"2026-09-25 18:46:11","reason":"found in this entry's text, named in this entry"},{"version":"2.1.283","anchor":"side-queries-to-a-denied-model-are-sent-to-the-main-loop-mod","heading":"Helper requests to a denied model now use your main model instead","line":"When an admin's `deniedModels` blocks the model a background helper request asks for, Claude Code now sends it to the main conversation model","released_at":"2026-09-25 18:46:11","reason":"found in this entry's text, named in this entry"},{"version":"2.1.283","anchor":"default-model-steps-down-to-an-allowed-model-when-managed-se","heading":"Claude Code picks an allowed model when admin settings block the default","line":"If managed settings block the default model, Claude Code now steps down to an allowed model, and reports a clear startup error when none is left","released_at":"2026-09-25 18:46:11","reason":"found in this entry's text, named in this entry"},{"version":"2.1.283","anchor":"managed-policy-deniedmodels-now-restricts-the-model-picker","heading":"Models denied by managed policy are hidden from the \/model picker","line":"When managed policy sets deniedModels, the \/model picker now leaves those models out instead of showing the full list","released_at":"2026-09-25 18:46:11","reason":"found in this entry's text, named in this entry"}],"entries_total":6,"docs":[{"source":"claude-code","path":"settings-reference","title":"All settings","documented":true},{"source":"claude-code","path":"changelog","title":"Claude Code changelog","documented":false},{"source":"claude-code","path":"managed-settings","title":"Deploy managed settings","documented":false},{"source":"claude-code","path":"model-config","title":"Model configuration","documented":false}],"docs_total":4,"gates":[],"related":[],"url":"https:\/\/changelogs.core-directive.com\/reference\/setting\/deniedmodels","family_url":"https:\/\/changelogs.core-directive.com\/reference\/setting.json"}