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]: TUI plugin slot for subagent and shell completion notices #61732
I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
Each background subagent or shell that finishes adds a ↳ Subagent finished · … line to the transcript. With several parallel workers these lines add up. A plugin that draws its own transcript can't change them: they have no slot, and layout.rowGap sees them as other.
Proposal:
a session.message.completion slot around that line, with input { sessionID, messageID };
a notice row kind for system and synthetic messages, so a gap rule can stack them.
With both, my plugin folds completions that land together into one line: ↳ 3 agents finished · a, b, c.
I have this working with a test on my fork, on top of #61699: cevr/opencode@dfddf989af. I can open a PR once the design is OK.
Thanks for the detailed proposal, @cevr! In short, you're asking for a session.message.completion TUI plugin slot around the ↳ Subagent finished · … / shell completion line (input { sessionID, messageID }), plus a notice row kind for system and synthetic messages in layout.rowGap. A plugin could then group completions that land together, e.g. ↳ 3 agents finished · a, b, c.
This builds on the transcript hooks in #61699 (for #61697), which aren't merged yet, so the maintainers will want to look at the two together. They'll consider the design before you open a PR. Thanks for already having an implementation with a test ready.
Activity
opencodejr commentedon Nov 4, 2026
Thanks for the detailed proposal, @cevr! In short, you're asking for a
session.message.completionTUI plugin slot around the↳ Subagent finished · …/ shell completion line (input{ sessionID, messageID }), plus anoticerow kind for system and synthetic messages inlayout.rowGap. A plugin could then group completions that land together, e.g.↳ 3 agents finished · a, b, c.This builds on the transcript hooks in #61699 (for #61697), which aren't merged yet, so the maintainers will want to look at the two together. They'll consider the design before you open a PR. Thanks for already having an implementation with a test ready.
Related: