anomalyco / anomalyco/opencode
[FEATURE]: TUI plugins (statusline/slots) don't work in Desktop app - add TUI plugin support to Desktop
@Hona is already working on this.
Since Aug 9, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Feature hasn't been suggested before.
- I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
The Desktop app (@opencode-aidesktop) does not load TUI plugins configured in tui.json (e.g. "plugin": ["file:///path/to/plugin"]). TUI plugin slots like session_prompt — used by statusline plugins such as opencode-quota-statusline / opencode-subagent-statusline — only render in the terminal TUI. In the Desktop app there is no equivalent extension point for custom UI widgets, so those plugins silently do nothing.
Reproduced on the same machine with the same config:
- TUI (
opencodein Windows Terminal): statusline renders fine above the prompt. - Desktop app (1.18.15, Windows x64): nothing renders.
opencode.logshowsloading tui configonly for TUI/CLI processes, never for the Desktop process.
Describe the solution you'd like
Add TUI plugin (slot) support to the Desktop / web UI so plugins registered via tui.json (or opencode.json) render in the Desktop app:
- Load and evaluate TUI plugin modules in the Desktop renderer/web UI (or a shared runtime), including
exports["./tui"]entrypoints andapi.slots.register(). - Map the existing host slots (
session_prompt,home_prompt,app_bottom, etc.) to the corresponding areas of the web UI. - Fallback: if full slot parity is too large, expose at least the
session_promptslot (the statusline use case) in the Desktop UI.
This would unblock statusline plugins (provider quota/usage, sub-agent state) and similar UI plugins for Desktop users, who are mouse/GUI-first by definition.
Additional context
- Complementary to #37464 (custom statusLine via shell command): that one proposes a config-only statusline; this one asks for TUI plugin/slot parity in Desktop.
- Same class of problem as #33469 (side sessions in Desktop) — TUI-only plugins that don't work in Desktop.
- Related: #40108 (unified marketplace with a shared runtime for Desktop, Web, TUI, CLI) would be a natural place to also unify the plugin/slot runtime.
- Steps to reproduce: put a
file://TUI plugin in~/.config/opencode/tui.json, run the same opencode install as Desktop and as TUI; the statusline appears only in the TUI. - Environment: OpenCode Desktop 1.18.15 (Electron, Windows 11); plugin
opencode-quota-statusline(local file plugin registered in~/.config/opencode/tui.json).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.