Description
The TUI plugin runtime imports @opentui/solid/runtime-plugin-support at the top of packages/opencode/src/cli/cmd/tui/plugin/runtime.ts:1, which lets Solid plugins register themselves inside a compiled binary. The plugin loader used by the server process at packages/opencode/src/plugin/loader.ts does not have the same import, so a server plugin that ships compiled .tsx components cannot find its Solid runtime when loaded from a compiled binary — the plugin silently fails to mount.
Matching the existing TUI pattern is a single-line import at the top of plugin/loader.ts:
import "@opentui/solid/runtime-plugin-support"
PR: #22046
Plugins
No response
OpenCode version
dev branch (reproduced against commit 27190635e)
Steps to reproduce
- Write a server plugin that uses Solid's TSX runtime to render components.
- Build OpenCode as a single-file binary via
./packages/opencode/script/build.ts --single.
- Load the plugin from that binary — the TSX component never mounts because the Solid runtime was never registered in the server process.
Screenshot and/or share link
No response
Operating System
Linux (WSL2, Ubuntu 24.04)
Terminal
No response
Description
The TUI plugin runtime imports
@opentui/solid/runtime-plugin-supportat the top ofpackages/opencode/src/cli/cmd/tui/plugin/runtime.ts:1, which lets Solid plugins register themselves inside a compiled binary. The plugin loader used by the server process atpackages/opencode/src/plugin/loader.tsdoes not have the same import, so a server plugin that ships compiled.tsxcomponents cannot find its Solid runtime when loaded from a compiled binary — the plugin silently fails to mount.Matching the existing TUI pattern is a single-line import at the top of
plugin/loader.ts:PR: #22046
Plugins
No response
OpenCode version
dev branch (reproduced against commit
27190635e)Steps to reproduce
./packages/opencode/script/build.ts --single.Screenshot and/or share link
No response
Operating System
Linux (WSL2, Ubuntu 24.04)
Terminal
No response