{"version":"2.1.290","anchor":"hooks-worker-replacement-plugin-catch-is-asked-of-the-repl","canonical_anchor":"hooks-worker-replacement-plugin-catch-is-asked-of-the-repl","heading":"Plugin hook error handlers survive a restart of the hooks worker","tier":"notice","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/hooks-worker-replacement-plugin-catch-is-asked-of-the-repl","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### Plugin hook error handlers survive a restart of the hooks worker\n\nIf the worker running plugin hooks is replaced mid-event, Claude Code now waits for the new one and lets the plugin's error handler run there\n\n**Unclear.** It is not clear whether plugin hook modules are themselves behind a switch.\n\n**What**\n\nHooks are pieces of code that run when something happens in Claude Code, such as a tool being used. Plugin hooks run in a separate background process called the hooks worker. If that worker ends or is replaced partway through an event, Claude Code now waits for the replacement and runs the plugin's error handler (its `.catch`) there. Before, the failure simply passed through.\n\nOther changes to hooks:\n\n- Text a hook writes to the log is now shortened\n\n- Claude Code now records which tool a hook ran for, and whether it ran for account memory\n\n- Claude Code now records when a hook starts in the folder Claude Code was launched from\n\n**Why**\n\nPlugin hooks are less likely to fail outright just because their worker restarted.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}