[FEATURE]: Plugin Hooks for spawning dialogs #7119

Open
opened 2026-02-16 18:06:14 -05:00 by yindo · 2 comments
Owner

Originally created by @ShamanicArts on GitHub (Jan 21, 2026).

Originally assigned to: @thdxr on GitHub.

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

OpenCode already has inline & modal dialogs with permissions, questions & command pallet / models modal.

Plugins should be able to hook into the same primitives to create custom modals, inline dialogs, alerts etc. this would allow plugin developers to create native feeling interactions beyond just modifying & or tracking messages.

this could be done by extending the plugin hooks & api to provide hooks for the creation of dialogs.

Originally created by @ShamanicArts on GitHub (Jan 21, 2026). Originally assigned to: @thdxr on GitHub. ### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request OpenCode already has inline & modal dialogs with permissions, questions & command pallet / models modal. Plugins should be able to hook into the same primitives to create custom modals, inline dialogs, alerts etc. this would allow plugin developers to create native feeling interactions beyond just modifying & or tracking messages. this could be done by extending the plugin hooks & api to provide hooks for the creation of dialogs.
yindo added the discussion label 2026-02-16 18:06:14 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Jan 21, 2026):

This issue might be a duplicate of existing issues. Please check:

  • #5147: [FEATURE]: Plugin Support for Modal Human-in-the-loop Interactions
  • #6521: [FEATURE]: Window System as Foundation for UI Plugin Ecosystem
  • #8619: [FEATURE]: Native StatusLine Hook for Plugins (Context-Free Display)
  • #6330: [FEATURE]: Generic UI Intent Channel for cross-client plugin-driven UX
  • #5148: [FEATURE]: Comprehensive Plugin Pipeline - Middleware-Style Data Flow Control

Feel free to ignore if none of these address your specific case.

@github-actions[bot] commented on GitHub (Jan 21, 2026): This issue might be a duplicate of existing issues. Please check: - #5147: [FEATURE]: Plugin Support for Modal Human-in-the-loop Interactions - #6521: [FEATURE]: Window System as Foundation for UI Plugin Ecosystem - #8619: [FEATURE]: Native StatusLine Hook for Plugins (Context-Free Display) - #6330: [FEATURE]: Generic UI Intent Channel for cross-client plugin-driven UX - #5148: [FEATURE]: Comprehensive Plugin Pipeline - Middleware-Style Data Flow Control Feel free to ignore if none of these address your specific case.
Author
Owner

@grota commented on GitHub (Feb 3, 2026):

I am strongly in favor of this feature request.

Use case: I may be in the minority, but I actually read the messages and the code the models produce 😏, and they sometimes include useful pearls of wisdom. This happens even more often when I use opencode for non-code questions.

I would like to be able to interactively tag assistant messages (for example, via a DialogMessage) with a "favorite" or "read it later" tag.

I believe the missing piece is allowing plugins to hook into the UI components (for example, to add components/commands to packages/opencode/src/cli/cmd/tui/routes/session/index.tsx).

Once that’s possible, a plugin could:

  • provide a TUI ui component (DialogMessage where the user can choose which tag to apply).
  • trigger, on selection, a plugin-specific event (for example, experimental.<plugin_name>.message.tagged)
  • react to that event itself or delegate to other plugins (avoid hardcoding behavior in opencode core).
@grota commented on GitHub (Feb 3, 2026): I am strongly in favor of this feature request. Use case: I may be in the minority, but I actually read the messages and the code the models produce 😏, and they sometimes include useful pearls of wisdom. This happens even more often when I use opencode for non-code questions. I would like to be able to interactively tag assistant messages (for example, via a `DialogMessage`) with a "favorite" or "read it later" tag. I believe the missing piece is allowing plugins to hook into the UI components (for example, to add components/commands to `packages/opencode/src/cli/cmd/tui/routes/session/index.tsx`). Once that’s possible, a plugin could: - provide a TUI ui component (`DialogMessage` where the user can choose which tag to apply). - trigger, on selection, a plugin-specific event (for example, `experimental.<plugin_name>.message.tagged`) - react to that event itself or delegate to other plugins (avoid hardcoding behavior in opencode core).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#7119