Verified 2026-08-05 What was checked, and when — not a guarantee it is still true.
Yes — plugin hooks do fire in Cowork. The determinant is where the plugin was installed from: a plugin installed through the Cowork application is visible to Cowork sessions, and one installed through the CLI's own path is not, because they occupy different namespaces. The plugin-root token resolves differently depending on which consumer expands it, so use it for file-tool reads and discover the mounted path at runtime for anything you shell out to.
Hooks run, but the environment they modify is not the environment those commands see. This is a common way a plugin appears broken in Cowork while working in the CLI: the hook fires, the export succeeds, and the value is simply absent downstream.
Hooks shipped by a plugin do run. An earlier belief that they were disabled was wrong; the real determinant is installation namespace, not hook support.
Plugins installed through the CLI's own installation path land in a namespace that Cowork sessions never read, so the plugin appears installed and is simply invisible. This is the usual explanation for 'my plugin works in the CLI but not in Cowork'.
Plugin content is mounted for reading. Treat everything shipped with the plugin as immutable during a session and put generated state in the outputs location.
Plugin content is made available to the session as its own mount. The exact location embeds identifiers that vary per plugin and per install source, and the shape has changed across releases, so discovery at runtime is the only stable approach.
The plugin-root token expands differently depending on which consumer expands it and which execution lane the session is in. Expanded for one consumer it names a location the other cannot reach. Reading plugin files through the file tools with the token is reliable; executing a script by that path is not. For execution, locate the plugin's mounted directory at runtime.
Caveat: Resolution differs between the two execution lanes; this rule is written to be correct in both.