{"version":"2.1.304","anchor":"permission-decision-decider-validated-against-an-allowed-l","canonical_anchor":"permission-decision-decider-validated-against-an-allowed-l","heading":"Permission decisions are rejected if the decider is not an allowed value","tier":"internal","area":"Permissions","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/permission-decision-decider-validated-against-an-allowed-l","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304","markdown":"### Permission decisions are rejected if the decider is not an allowed value\n\nA permission decision whose decider is not one of a fixed set of values is now rejected instead of accepted as any text\n\n**Unclear.** Which decider values are allowed is not known.\n\n**What**\n\nA permission decision is the answer to whether Claude may take an action, and it can say who made the decision in a field called decider. Before, Claude Code only checked that decider was text. It now checks that it is one of a fixed set of values and rejects the decision with an error mentioning \"a decider that is not one of\" if not.\n\n**Why**\n\nIf you write hooks, scripts that run at set points in Claude Code, or use the SDK and return your own decider text, the decision can now be rejected.\n\n- Area: Permissions\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}