You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
v2: duplicate plugin ID hangs the server — activation defect never opens readiness latch #44975
On v2, if two loaded plugins export the same id (e.g. an npm plugin and a local plugin, or a plugin whose id collides with an internal/SDK plugin), Plugin.activate dies with Duplicate plugin ID (packages/core/src/plugin.ts). The supervisor's reload loop catches the defect and logs failed to reload plugins, but never opens the readiness latch (packages/core/src/plugin/supervisor.ts), so every unbounded PluginSupervisor.flush caller blocks forever — session startup / opencode serve request handling hangs. Config changes retry activation, but a duplicate ID is deterministic, so the hang is permanent.
From the user's perspective this is silent: no inventory entry, no plugin.updated event, nothing in the /plugins dialog — only a single log line.
This is fixed in v2: the first plugin with a given ID remains active, and later duplicates are recorded as failed plugins with a “Duplicate plugin ID” error. Plugin readiness also settles after activation errors instead of leaving startup blocked. If you still see this on v2, please open a new issue with the details.
Activity
github-actions commentedon Aug 25, 2026
This issue might be a duplicate of existing issues. Please check:
PluginSupervisor.flushto hang. That issue covers a deferred transform failure path; this issue covers the duplicate plugin ID path. The fix likely lives in the same place.neriousy commentedon Oct 20, 2026
This is fixed in v2: the first plugin with a given ID remains active, and later duplicates are recorded as failed plugins with a “Duplicate plugin ID” error. Plugin readiness also settles after activation errors instead of leaving startup blocked. If you still see this on v2, please open a new issue with the details.