Feature: Manage multiple concurrent `/side` chats with tabs / switcher in Codex CLI
What variant of Codex are you using?
CLI
What feature would you like to see?
What feature would you like to see?
I would like Codex CLI/TUI to support managing multiple concurrent /side chats from a single parent session, ideally with a tab-like UI or a lightweight side-chat switcher.
Today, /side is useful for exploring a tangent without polluting the main task context, but it feels like a single ephemeral layer. In more complex workflows, I often want several side investigations running at once, for example:
- one side chat to inspect a bug hypothesis
- another side chat to research an implementation approach
- another side chat to draft tests or migration notes
- the main chat continuing as the execution thread
A possible UX could be:
/sideopens a new side chat as it does today/side new [title]creates another side chat/side listshows open side chats attached to the current parent session/side switch <name|index>switches focus/side close <name|index>closes or archives a side chat- optional keyboard shortcuts for next/previous side chat, similar to terminal/browser tabs
- optional visible tab bar or compact header showing active side chats
- side chats should have stable names/titles, either user-provided or auto-generated from the first meaningful prompt
Why this matters
/side is most valuable when it lets me branch off from the main task without contaminating the main context. But real development work often has more than one tangent at the same time.
Without multiple side-chat management, users have to choose between:
- putting all tangents into one side chat, which becomes messy;
- putting tangents into the main chat, which pollutes the main execution context;
- opening separate Codex instances/terminal tabs, which loses the relationship to the parent session;
- manually writing handoff notes in Markdown.
A first-class side-chat manager would make /side feel like a proper “scratch branch” system for reasoning: cheap to create, easy to switch, isolated from the main chat, and recoverable when useful.
Expected behavior
- Multiple
/sidechats can be open under the same parent session. - Each side chat has isolated input routing and context.
- Switching focus makes queued/steer/follow-up messages go to the focused side chat, not the main chat.
- Closed side chats are either clearly ephemeral, or can be archived/resumed/exported.
- Side chats can optionally be promoted/forked/resumed as normal sessions.
- The UI makes it obvious which side chat is currently focused.
Possible implementation sketch
An MVP could avoid a full visual tab bar and start with commands:
/side new [title]
/side list
/side switch <index|title>
/side rename <index> <title>
/side close <index>
/side promote <index>
Additional information
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗