Skip to content

Feature Request: Agent Session Tab Bar Navigation #5826

@musickevan1

Description

@musickevan1

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

Metadata

Metadata

Assignees

Labels

opentuiThis relates to changes in v1.0, now that opencode uses opentui

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions