{"version":"2.1.321","anchor":"new-hook-decisionask-capability-and-new-stderr-free-policy","canonical_anchor":"new-hook-decisionask-capability-and-new-stderr-free-policy","heading":"Plugin hooks gain an \"ask\" decision and new guard categories","tier":"use","area":"Plugins","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.321\/e\/new-hook-decisionask-capability-and-new-stderr-free-policy","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.321","markdown":"### Plugin hooks gain an \"ask\" decision and new guard categories\n\nThe plugin hook system lists a new \"ask\" decision, new guard categories, and refuses hook paths that are not absolute\n\n**Unclear.** Whether the new \"ask\" decision and guards already take effect, or exist only as names so far, is not settled.\n\n**What**\n\nA hook is a script a plugin runs at set points while Claude Code works. Several changes appear in the hook system:\n\n- \"ask\" decision: `decision.ask` is now listed among the things a hook can do.\n\n- New guard categories: reasons are now listed for guards on MCP sign-in redirects, limited chat outside auto mode, plugin entries served over MCP, and configuration folders owned by the host.\n\n- Absolute paths: a hook whose path is not absolute, meaning not written out in full from the top of the file system, is refused.\n\n**Why**\n\nPlugin authors get more ways for a hook to respond, and Claude Code gains new categories of protection.\n\n- Area: Plugins\n- Tier: Use it now\n- Useful: 3\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}