Skip to content

[FEATURE]: Session & Subagent Tabs in the TUI for better orchestration #17838

Closed as not planned

Description

@fvnky07

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

Problem

OpenCode allows multiple sessions and multiple subagents to run within a project, but the current TUI makes it difficult to see and switch between them efficiently in complex workflows like oh my openagents.

When working with multiple sessions and agents, users cannot easily:

  • View all active sessions
  • Switch between sessions quickly
  • Inspect running subagents within a session
  • Understand which agents are currently active

This becomes especially difficult in complex workflows involving mulitple planning agents, execution agents, and research agents all running in parallel in the same session.

EVEN MORE hard to manage when I have multiple SESSIONS each working on their own worktree with their own subagents etc you get the idea.

Proposed Solution

Introduce a two-level tab system in the TUI:

1. Session Tabs (Top of Interface)

Display all active sessions as tabs at the top of the interface.

[ session-1 ] [ session-2 ] [ session-3 ]
Image

Behavior:

  • Each tab represents an active session INSTEAD of pressing ctrl+x l to see sessions
  • The active session is highlighted and if the session is currently woroking then display a spinner before the session name (which will be truncated)
  • Clicking a tab switches to that session or by keybind.

2. Subagent Tabs (Above Prompt Input)

Display the currently running subagents for the active session.

Image

Example:

[ Prometheus ] [ Atlas ] [ Sisyphus ]

Behavior:

  • Each tab represents a running agent
  • Selecting a tab focuses the output of that agent
  • Tabs update automatically as agents spawn or finish

Example Layout

┌─────────────────────────────────────────────┐
│ [ session-1 ] [ session-2 ] [ + ]           │
├─────────────────────────────────────────────┤
│                                             │
│                Chat Output                  │
│                                             │
├─────────────────────────────────────────────┤
│ [ Prometheus ] [ Atlas ] [ Sisyphus ]       │
│                                             │
│ > prompt input                              │
└─────────────────────────────────────────────┘

Benefits

  • Easier navigation between multiple sessions
  • Clear visibility of active subagents
  • Better support for multi-agent workflows
  • More intuitive developer experience

This model is similar to familiar workflows used in tools like Neovim, where tabs provide fast context switching.

Possible Implementation

This could be implemented in the TUI layer as two components:

  • SessionTabs
  • AgentTabs

Potential architecture:

App
 ├ SessionTabs
 ├ ChatPanel
 ├ AgentTabs
 └ PromptInput

The UI could subscribe to session and agent lifecycle events and update dynamically.

Optional Enhancements

  • Keyboard navigation (Ctrl+1, Ctrl+2 for sessions)
  • Agent status indicators (running / idle)
  • tool calls as an icon + number.

Questions

  • Are there any design constraints in the current TUI architecture that would affect this approach?

Activity

  1. added
    discussionUsed for feature requests, proposals, ideas, etc. Open discussion
    on Mar 16, 2026
  2. github-actions commented on Mar 16, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

  3. fvnky07 commented on Mar 16, 2026

    @fvnky07
    Author

    another reason this would be useful is because when you have a long session transcript it can be easy to lose track of all subagents that have been started and stopped and the ones currently running becuase currently unless im wrong the subagents are only every shown in the chat when they are called.

    Image
  4. assigned and unassigned on Apr 26, 2026
  5. removed
    discussionUsed for feature requests, proposals, ideas, etc. Open discussion
    on May 3, 2026
  6. github-actions commented on Jul 7, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

  7. Minhir commented on Aug 11, 2026

    @Minhir

    For anyone looking for session tabs, I built https://github.com/Minhir/opencode-tabs. It adds clickable session tabs and keyboard navigation to the TUI. It doesn't have subagent tabs, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions