Repository navigation
Description
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 ]
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.
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:
SessionTabsAgentTabs
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+2for 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
github-actions commentedon Mar 16, 2026
This issue might be a duplicate of existing issues. Please check:
fvnky07 commentedon Mar 16, 2026
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.
github-actions commentedon Jul 7, 2026
To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.
Minhir commentedon Aug 11, 2026
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.