Feature Request: Agent Session Tab Bar Navigation #3680

Open
opened 2026-02-16 17:41:05 -05:00 by yindo · 2 comments
Owner

Originally created by @musickevan1 on GitHub (Dec 19, 2025).

Originally assigned to: @kommander on GitHub.

Feature Request: Agent Session Tab Bar Navigation

Summary

Add a horizontal tab bar to the OpenCode TUI for navigating between concurrent agent sessions, similar to kitty terminal tabs.

Motivation

When using the orchestrator pattern with multiple spawned subagents (up to 10 concurrent), users need a way to:

  • See all active/completed agent sessions at a glance
  • Quickly switch between agent outputs
  • Understand the parent-child relationship (orchestrator → subagents)
  • Monitor status of parallel tasks

Currently, OpenCode uses Ctrl+X + Left/Right arrows for session navigation, but there's no visual indicator of available sessions.

Proposed Design

Tab Bar Location: Top of TUI, below any title bar

Tab Content:

  • Agent type (e.g., orchestrator, frontend-engineer, researcher)
  • Truncated task description
  • Status indicator (running/complete/failed)

Tab Ordering:

  • Leftmost: Parent/orchestrator agent (the one that spawned others)
  • Right: Subagents in spawn order

Keybindings (proposed):

Action Keybinding
Next tab Shift+Tab
Previous tab Shift+Backtab
Go to tab N Alt+1 to Alt+9
Close completed tab Ctrl+W
Toggle tab bar Ctrl+T

Status Indicators:

  • 🔄 Running (spinner animation)
  • ✓ Completed
  • ✗ Failed
  • Optional: Color by model tier (Haiku/Sonnet/Opus)

Configuration (new tui options)

{
  "tui": {
    "scroll_speed": 3,
    "tab_bar": {
      "enabled": true,
      "position": "top",
      "show_status": true,
      "show_model_colors": true,
      "max_tab_width": 30
    }
  }
}

Mock-up

┌────────────────────────────────────────────────────────────────────────┐
│ [●orchestrator: dashboard] [🔄frontend: Cards] [✓test: unit] [🔄style] │
├────────────────────────────────────────────────────────────────────────┤
│                                                                        │
│  Currently viewing: orchestrator                                       │
│  ... agent output ...                                                  │
│                                                                        │
└────────────────────────────────────────────────────────────────────────┘

Technical Considerations

  • Session state tracking for multi-agent orchestrations
  • Tab lifecycle management (spawn, active, complete, close)
  • Keybinding conflict resolution (check Shift+Tab availability)
  • Performance with many concurrent tabs

Alternatives Considered

  1. Split panes: More complex, less scalable for 10 agents
  2. Session list sidebar: Takes horizontal space, less terminal-native
  3. Numbered hotkeys only: Less discoverable than visual tabs

Related

  • Kitty terminal tabs (inspiration for UX)
  • Multi-agent orchestration workflows
Originally created by @musickevan1 on GitHub (Dec 19, 2025). Originally assigned to: @kommander on GitHub. ## Feature Request: Agent Session Tab Bar Navigation ### Summary Add a horizontal tab bar to the OpenCode TUI for navigating between concurrent agent sessions, similar to kitty terminal tabs. ### Motivation When using the orchestrator pattern with multiple spawned subagents (up to 10 concurrent), users need a way to: - See all active/completed agent sessions at a glance - Quickly switch between agent outputs - Understand the parent-child relationship (orchestrator → subagents) - Monitor status of parallel tasks Currently, OpenCode uses `Ctrl+X + Left/Right arrows` for session navigation, but there's no visual indicator of available sessions. ### Proposed Design **Tab Bar Location**: Top of TUI, below any title bar **Tab Content**: - Agent type (e.g., `orchestrator`, `frontend-engineer`, `researcher`) - Truncated task description - Status indicator (running/complete/failed) **Tab Ordering**: - Leftmost: Parent/orchestrator agent (the one that spawned others) - Right: Subagents in spawn order **Keybindings** (proposed): | Action | Keybinding | |--------|------------| | Next tab | `Shift+Tab` | | Previous tab | `Shift+Backtab` | | Go to tab N | `Alt+1` to `Alt+9` | | Close completed tab | `Ctrl+W` | | Toggle tab bar | `Ctrl+T` | **Status Indicators**: - 🔄 Running (spinner animation) - ✓ Completed - ✗ Failed - Optional: Color by model tier (Haiku/Sonnet/Opus) ### Configuration (new `tui` options) ```json { "tui": { "scroll_speed": 3, "tab_bar": { "enabled": true, "position": "top", "show_status": true, "show_model_colors": true, "max_tab_width": 30 } } } ``` ### Mock-up ``` ┌────────────────────────────────────────────────────────────────────────┐ │ [●orchestrator: dashboard] [🔄frontend: Cards] [✓test: unit] [🔄style] │ ├────────────────────────────────────────────────────────────────────────┤ │ │ │ Currently viewing: orchestrator │ │ ... agent output ... │ │ │ └────────────────────────────────────────────────────────────────────────┘ ``` ### Technical Considerations - Session state tracking for multi-agent orchestrations - Tab lifecycle management (spawn, active, complete, close) - Keybinding conflict resolution (check `Shift+Tab` availability) - Performance with many concurrent tabs ### Alternatives Considered 1. **Split panes**: More complex, less scalable for 10 agents 2. **Session list sidebar**: Takes horizontal space, less terminal-native 3. **Numbered hotkeys only**: Less discoverable than visual tabs ### Related - Kitty terminal tabs (inspiration for UX) - Multi-agent orchestration workflows
yindo added the opentui label 2026-02-16 17:41:05 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Dec 19, 2025):

This issue might be a duplicate of existing issues or closely related to them. Please check:

  • #5790: Terminal tab unusable when running several OC instances in parallel
  • #4292: Make left/right navigation for subagents more clear
  • #3291: Navigation to parent session from child/subagent sessions
  • #5242: Dedicated subagents' sidebar
  • #4180: ctrl-left/right doesn't navigate between subagents since 1.0 TUI

These issues address similar concerns about session/subagent visibility, navigation, and organization in multi-agent workflows.

For keybind-related issues, please also check our pinned keybinds documentation: #4997

@github-actions[bot] commented on GitHub (Dec 19, 2025): This issue might be a duplicate of existing issues or closely related to them. Please check: - #5790: Terminal tab unusable when running several OC instances in parallel - #4292: Make left/right navigation for subagents more clear - #3291: Navigation to parent session from child/subagent sessions - #5242: Dedicated subagents' sidebar - #4180: ctrl-left/right doesn't navigate between subagents since 1.0 TUI These issues address similar concerns about session/subagent visibility, navigation, and organization in multi-agent workflows. For keybind-related issues, please also check our pinned keybinds documentation: #4997
Author
Owner

@zenyr commented on GitHub (Dec 21, 2025):

Related: #4865 implements a sidebar approach (battle-tested in shuvcode fork), while this proposes a tab bar. Both solve multi-agent navigation but with different UX. See #5242 for more context.

@zenyr commented on GitHub (Dec 21, 2025): Related: #4865 implements a sidebar approach (battle-tested in shuvcode fork), while this proposes a tab bar. Both solve multi-agent navigation but with different UX. See #5242 for more context.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#3680