mirror of
https://github.com/cline/cline.git
synced 2026-10-25 10:26:36 +08:00
Plugin code never runs on a host's main thread. The in_process execution mode is removed along with the fallback to it when a host shipped no worker bootstrap: that fallback turned a loud "plugins do not load" into a silent "plugins run inside the hub", which is the failure class behind CLINE_PLUGIN_MODE is now `worker` (default) or `sandbox`; `in_process` is no longer honoured. A host that ships no bootstrap for the requested mode fails every plugin load with PluginBootstrapMissingError, which names CLINE_PLUGIN_BOOTSTRAP_PATH, so the cause shows in `cline config tools`, `cline hub plugins`, and session-start warnings instead of plugins silently dropping. The SSH remote helper is such a host today: it is uploaded as a single file with no bootstrap beside it, so plugin tools are reported missing there instead of running inside the remote hub. With no plugin code in the host, the registry loses the jiti import path, per-session module copies, AsyncLocalStorage call scoping, the __clinePluginHost shim, and stack attribution of uncaught errors. The daemon's uncaughtException / unhandledRejection handlers are fatal again. The in-process registry tests that cover retained behaviour (hook timeouts and error modes, multi-session notices, capability checks, discovery and settings issues, command/rule/builder timeouts, host-rejected registrations, timeout overrides, reload) move to the worker suite. How each host obtains the bootstrap and the SDK packages plugins import, and embedding them in compiled binaries, is left to follow-ups.