{"version":"2.1.288","anchor":"plugin-install-replace-switch-and-hook-viewer-absence-deta","canonical_anchor":"plugin-install-replace-switch-and-hook-viewer-absence-deta","heading":"Plugin function hooks are detached when nothing is listening for them","tier":"internal","area":"Plugins","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288\/e\/plugin-install-replace-switch-and-hook-viewer-absence-deta","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288","markdown":"### Plugin function hooks are detached when nothing is listening for them\n\nHooks that a plugin provides as functions are now detached when no viewer is attached to receive them\n\n**Unclear.** It is not clear what controls this check or what counts as a viewer being attached.\n\n**What**\n\nA hook is a piece of code that runs automatically at set moments while Claude Code works. Some plugins provide hooks as functions. Claude Code now checks whether anything is still attached to receive those function hooks. When nothing is, it detaches them.\n\nThe plugin install command still tells you about its `--replace` option. The install code behind it was reorganised.\n\n**Why**\n\nFunction hooks from a plugin no longer stay connected after nothing is listening to them.\n\n- Area: Plugins\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}