{"version":"2.1.305","anchor":"plugin-enable-refused-when-managed-settings-already-decide-i","canonical_anchor":"plugin-enable-refused-when-managed-settings-already-decide-i","heading":"Plugin enable and disable respect managed settings","tier":"notice","area":"Plugins","scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305\/e\/plugin-enable-refused-when-managed-settings-already-decide-i","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305","markdown":"### Plugin enable and disable respect managed settings\n\nTurning a plugin on or off is refused with `managed_settings_override` when your organization's managed settings already decide it, unless `recordOverManagedSettings` is passed\n\n**Unclear.** It is not clear whether the refusal applies to turning plugins on, turning them off, or both.\n\n**What**\n\nPlugins are add-on packages for Claude Code. Managed settings are settings your organization sets centrally, and `enabledPlugins` in them can decide whether a plugin is on or off.\n\n- New refusal: enabling or disabling a plugin that `enabledPlugins` in the policy settings already decides now fails with the `failureCode` `managed_settings_override`.\n\n- Bypass: the check is skipped when the call passes `recordOverManagedSettings`, and one plugin disable call now passes `recordOverManagedSettings: true`.\n\n- Separately, a failed `set_model` response (the request that changes which model is used) now includes `error_code` `\"internal_error\"`.\n\n**Why**\n\nIn an organization with managed settings, you get a clear refusal instead of a quiet change that goes against policy. Programs talking to Claude Code also get a code they can check when changing the model fails.\n\n- Area: Plugins\n- Names: `enabledPlugins`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: both\n- Heads-up: yes"}