TUI input area collapses to zero height in tmux panes
Description
The prompt input area intermittently disappears completely in Claude Code TUI sessions running inside tmux panes. The status bar, mode indicator, and output area remain visible, but the text input field is gone — there is literally no place to type.
Environment
- OS: macOS (Darwin 23.6.0)
- Terminal: tmux (multiple panes, tmuxinator-managed sessions)
- Claude Code model: Opus 4.6
- Status line: Enabled (multi-line format showing project, model, git stats, permissions mode)
- Multiple Claude Code instances running simultaneously in separate tmux panes/windows
Steps to Reproduce
- Launch multiple Claude Code TUI instances inside tmux panes (e.g., via tmuxinator with 4-5 windows)
- Use the sessions normally — send prompts, receive responses
- After some usage (particularly after long responses or compaction), the input area disappears
This is intermittent and affects multiple pane/window configurations. It happens across different tmux windows, not just one specific pane size.
Observed Behavior
- The input text area completely vanishes. No cursor, no text field, no prompt indicator.
- Ctrl+C briefly shows the input area, but it disappears again when keys are released
- Ctrl+L does NOT fix it (no re-render occurs)
- Zooming the tmux pane (
Ctrl+b ztoggle, or resizing the terminal window) sometimes restores the input area — confirming this is a layout/resize issue - Sometimes even zooming does not restore it
Expected Behavior
The input area should always remain visible and usable regardless of terminal size, output length, or tmux pane configuration. The TUI layout should never allocate zero rows to the input field.
Screenshot
The screenshot below shows the bug in action. The output, status bar, and tmux bar are all visible, but there is no input area:
- Output text visible at top
- Status line:
wert-agent | Opus 4.6 | ... | (master | 33981 files +221 -2417995) - Mode indicator:
-- INSERT -- >> bypass permissions on (shift+tab to cycle) - tmux status bar at bottom
- No input field anywhere
Analysis
This appears to be a layout calculation bug in the TUI renderer (Ink/React-based). The combined height of:
- Output area
- Multi-line status bar (2-3 lines)
- tmux's own status bar
...seems to squeeze the input field allocation to zero rows. The fact that resize events (SIGWINCH via tmux zoom) sometimes fix it suggests the layout engine is not correctly reserving minimum space for the input on initial render or after content updates.
The Ctrl+C behavior (briefly showing input) suggests the interrupt handler triggers a partial re-render that momentarily fixes the layout, but the normal render loop immediately recalculates and collapses it again.
Possible Contributing Factors
- Multi-line status bar consuming extra vertical space
- tmux not forwarding SIGWINCH reliably to nested TUI processes
- Layout math not enforcing a minimum height for the input component
- Multiple concurrent Claude Code instances may exacerbate the issue
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗