Problem or use case
The sidebar renders one agent row per terminal pane, but the rows are presented as a flat list under the worktree card.
When multiple agent sessions run in split panes within the same terminal tab, there is no visual indication that those rows belong to one tab. At a glance, it is difficult to distinguish these two cases:
- several independent tabs with one agent each
- one tab containing several agent panes
The ambiguity becomes more noticeable during parallel work, especially when the pane labels are similar. In practice, I have repeatedly mistaken sibling panes for independent tabs and had to inspect the terminal layout to reconstruct which sessions belong together.
Current UI
The rows below belong to panes in the same tab, but they appear as unrelated sibling rows.
Proposed solution
Add a lightweight tab-level group when multiple sidebar agent rows belong to the same terminal tab.
- Show the tab title and pane count in a small parent row.
- Nest the related agent rows beneath that parent.
- When a pane has a user-assigned title, use it as the child row label; otherwise retain the current label fallback.
- Keep each agent row's existing status, provider icon, timestamp, and exact-pane navigation behavior.
- Leave single-pane tabs unchanged so the common case does not gain another hierarchy level.
- Use the experimental new card style as the initial design baseline.
Concept mockup
Group only multi-pane tabs. Single-pane tabs remain unchanged.
The grouping can remain presentational: sidebar agent rows already carry their terminal tab identity, so rows can be grouped without changing the underlying agent model.
Orca already supports assigning a title to an individual pane through Set Title… and persists it per layout leaf in titlesByLeafId. However, the sidebar conversation-name path currently resolves from tab-level title fields and does not read the pane's assigned title. Surfacing that existing title on the grouped child row would make parallel agents easier to identify without introducing another naming model.
If this direction fits the sidebar information architecture, I would be happy to implement it after the interaction and scope are agreed on.
Alternatives or additional context
Prefixing every row with its tab title would clarify ownership, but it repeats text and still does not express the hierarchy as clearly. Wrapping every single-pane tab would add unnecessary visual noise.
Related work:
Those changes affect row labels, state, or content. This proposal is specifically about showing the tab-to-pane relationship in the sidebar. It would complement #11069 and #11070 by making tab ownership visible even when child rows use pane-specific labels, but it would not replace their title-resolution work.
Problem or use case
The sidebar renders one agent row per terminal pane, but the rows are presented as a flat list under the worktree card.
When multiple agent sessions run in split panes within the same terminal tab, there is no visual indication that those rows belong to one tab. At a glance, it is difficult to distinguish these two cases:
The ambiguity becomes more noticeable during parallel work, especially when the pane labels are similar. In practice, I have repeatedly mistaken sibling panes for independent tabs and had to inspect the terminal layout to reconstruct which sessions belong together.
Current UI
The rows below belong to panes in the same tab, but they appear as unrelated sibling rows.
Proposed solution
Add a lightweight tab-level group when multiple sidebar agent rows belong to the same terminal tab.
Concept mockup
Group only multi-pane tabs. Single-pane tabs remain unchanged.
The grouping can remain presentational: sidebar agent rows already carry their terminal tab identity, so rows can be grouped without changing the underlying agent model.
Orca already supports assigning a title to an individual pane through Set Title… and persists it per layout leaf in
titlesByLeafId. However, the sidebar conversation-name path currently resolves from tab-level title fields and does not read the pane's assigned title. Surfacing that existing title on the grouped child row would make parallel agents easier to identify without introducing another naming model.If this direction fits the sidebar information architecture, I would be happy to implement it after the interaction and scope are agreed on.
Alternatives or additional context
Prefixing every row with its tab title would clarify ownership, but it repeats text and still does not express the hierarchy as clearly. Wrapping every single-pane tab would add unnecessary visual noise.
Related work:
Those changes affect row labels, state, or content. This proposal is specifically about showing the tab-to-pane relationship in the sidebar. It would complement #11069 and #11070 by making tab ownership visible even when child rows use pane-specific labels, but it would not replace their title-resolution work.