{"version":"2.1.265","anchor":"hook-event-names-gain-a-wildcardnegation-pattern-grammar-an","canonical_anchor":"hook-event-names-gain-a-wildcardnegation-pattern-grammar-an","heading":"Hook event names gain a wildcard\/negation pattern grammar and a 'classic.' namespace","tier":"use","area":"Hooks","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.265\/e\/hook-event-names-gain-a-wildcardnegation-pattern-grammar-an","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.265","markdown":"### Hook event names gain a wildcard\/negation pattern grammar and a 'classic.' namespace\n\nHook event names now support wildcard and negation patterns, and internal plugin hooks are namespaced as `classic.`\n\n**What**\n\nHooks (scripts that run automatically at points like `PreToolUse`, before a tool call executes) can now be registered against event name patterns, not just exact names. A pattern can be `*` (matches everything), `<prefix>.*` (matches everything under a prefix), or either form prefixed with `!` to negate it. Separately, internally-defined plugin hook events are now namespaced with a `classic.` prefix, so `PreToolUse` becomes `classic.PreToolUse` internally.\n\n**Why**\n\nWildcard and negation patterns let a single hook registration cover a group of related events instead of listing each one individually. The `classic.` namespace distinguishes built-in plugin hook events from other event sources as the hook system grows more general.\n\n- Area: Hooks\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 3\/5"}