Skip to content

[FEATURE]: TUI plugins (statusline/slots) don't work in Desktop app - add TUI plugin support to Desktop #41441

Closed as not planned

Description

@alepublio

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 (opencode in Windows Terminal): statusline renders fine above the prompt.
  • Desktop app (1.18.15, Windows x64): nothing renders. opencode.log shows loading tui config only 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:

  1. Load and evaluate TUI plugin modules in the Desktop renderer/web UI (or a shared runtime), including exports["./tui"] entrypoints and api.slots.register().
  2. Map the existing host slots (session_prompt, home_prompt, app_bottom, etc.) to the corresponding areas of the web UI.
  3. Fallback: if full slot parity is too large, expose at least the session_prompt slot (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

Activity

  1. github-actions commented on Oct 10, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions