Background
The /split beta feature was removed in commit 8d917ba because the TUI had several layout issues:
- Streaming content appeared underneath the input area during active streaming
- Subagents UI was misaligned in split mode
- Typing / in split mode broke the layout further
- Theme picker and other popups were transparent/overlapping in split mode
- All menus/popups behaved incorrectly in split mode
What to re-implement
- /split command to open two side-by-side chat panes
- Ctrl+K to toggle focus between panes
- /split left, /split right, /split close
- Proper popup/overlay rendering that doesn't break in split layout
- Auto-scroll that works correctly in both panes
- Fix streaming content placement (should appear above input, not below)
Key files to restore/rework
- src/ui/ink-terminal.tsx — SplitChatView, SplitPaneView, SplitPaneSummary, setSplitPane, clearViewport
- src/interactive-session-controller.ts — handleSplitCommand, focusSplitSide, closeSplit, syncSplitPane
- src/task-ui-bridge.ts — onRuntimeUpdate for cross-pane UI sync
- src/ui/components/prompt-input.tsx — onSplitToggle, Ctrl+K binding
- src/commands.ts — /split command definition
Design notes
- Fix all menu/popup layering issues before shipping (no transparent backgrounds, no overlap with content)
- Fix autoscroll on new messages to work like industry-standard CLIs
- Ensure streaming content renders above the input area during active turns
- Add a visible [beta] label in the UI when split is active
Background
The /split beta feature was removed in commit 8d917ba because the TUI had several layout issues:
What to re-implement
Key files to restore/rework
Design notes