{"version":"2.1.314","anchor":"permissionrequest-hook-allow-ignored-when-no-person-can-appr","canonical_anchor":"permissionrequest-hook-allow-ignored-when-no-person-can-appr","heading":"Hooks can no longer approve actions that only a person may approve in headless runs","tier":"notice","area":"Hooks","scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314\/e\/permissionrequest-hook-allow-ignored-when-no-person-can-appr","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314","markdown":"### Hooks can no longer approve actions that only a person may approve in headless runs\n\nIn headless runs, a PermissionRequest hook's allow is ignored for actions that only a person can approve; a deny still works\n\n**What**\n\nA hook is a script you configure to run at certain moments. The `PermissionRequest` hook runs when a tool call, an action Claude wants to take, needs a permission decision. A headless run is one with nobody at the screen, such as a script or automation.\n\nIn a headless run, when an action is one that only a person can approve and no approval prompt can be shown, Claude Code now ignores an allow answer from a `PermissionRequest` hook. It skips that hook and carries on. Before, an allow from the hook was always accepted. A deny from the hook works as before.\n\n**Why**\n\nThis stops a hook from automatically approving actions that are meant to need a human, in runs where no human can be asked. If your automation relied on a hook allowing such an action, it will no longer be approved that way.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5\n- Scope: both\n- Heads-up: yes"}