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
[FEATURE]: Mark TUI tabs unread, with plugin support #55599
I have verified this feature I'm about to request hasn't been suggested before.
Related: #30348 requested this for Desktop and was auto-closed. This request covers the V2 TUI and its plugin interface.
Describe the enhancement you want to request
When juggling several sessions, I sometimes open a completed tab before I have time to review it. I'd like to mark it unread again as a reminder.
Please expose manual unread functionality to TUI plugins—for example, a context.ui.tabs.markUnread(sessionID) method. A built-in command-palette action isn't necessary: plugins can provide the action and any navigation behavior themselves.
Expected behavior:
Reuse the native unread dot and glow, and include the tab in unread navigation.
Clear the manual mark after leaving and returning to the session with terminal focus—not immediately while marking the active tab.
Preserve busy, permission/question, and error indicators.
The method itself shouldn't navigate; plugins should decide whether and where to switch tabs.
Implementation suggestion: keep a TUI-local manual-mark map in the session-tabs context, merge it with automatic unread status, and let existing rendering and navigation handle the result. Keep server completion/view timestamps unchanged; cross-client persistence can be a separate follow-up.
In 2.0.29, plugins can read unread status but cannot set it. My workaround modifies private renderer nodes, which is fragile. A supported method would eliminate that entirely.
Disclosure: this issue was drafted with an LLM, Sol 6.1.
Reacted by Dennis R. Bosmans and Benoit de Chezelles
Thanks for the detailed request! To restate it: you'd like TUI plugins to be able to mark a session tab unread again, e.g. ctx.ui.tabs.markUnread(sessionID). It would reuse the native unread dot, glow and unread-tab navigation, and clear the next time you return to that session with the terminal focused.
I checked whether this could be built as a plugin today. It can't be done cleanly. The TUI plugin tabs API (enabled, list, open, focus, move, close) only lets plugins read unread, not set it. Unread status comes from the server's viewed watermark, which the TUI only ever moves forward. So something like the markUnread method you describe would need to be added to the plugin API, backed by a TUI-local mark in the session-tabs context. Maintainers will consider it.
Activity
opencode-agent commentedon Oct 15, 2026
Thanks for the detailed request! To restate it: you'd like TUI plugins to be able to mark a session tab unread again, e.g.
ctx.ui.tabs.markUnread(sessionID). It would reuse the native unread dot, glow and unread-tab navigation, and clear the next time you return to that session with the terminal focused.I checked whether this could be built as a plugin today. It can't be done cleanly. The TUI plugin
tabsAPI (enabled,list,open,focus,move,close) only lets plugins readunread, not set it. Unread status comes from the server's viewed watermark, which the TUI only ever moves forward. So something like themarkUnreadmethod you describe would need to be added to the plugin API, backed by a TUI-local mark in the session-tabs context. Maintainers will consider it.Related issues: