Status line breaks on narrow terminals when content doesn't wrap

Resolved 💬 3 comments Opened Feb 17, 2026 by kkauf Closed Feb 21, 2026

Description

Long content lines (e.g., the yellow "switched from npm to native installer" notification) don't wrap to the terminal width. This forces horizontal overflow, which then causes the status line at the bottom to wrap across many lines — sometimes 10-20 lines high — making Claude Code practically unusable until the window is significantly enlarged.

Steps to Reproduce

  1. Open Claude Code in a terminal window that's not full-width (e.g., ~80-100 columns, or a split-screen setup)
  2. Have a long notification banner or other non-wrapping content displayed
  3. Observe that the content extends beyond the terminal width instead of wrapping
  4. The status line then wraps character-by-character across many lines

Expected Behavior

All content should respect process.stdout.columns and wrap within the terminal width. The status line should remain on a single line (or gracefully truncate).

Actual Behavior

Content overflows horizontally, and the status line wraps into something like:

kaufmann-he
alth |
staging | [
----------]
 0% | $0.00
 ($24.09
today) | 0s

Screenshot

<img width="1268" height="409" alt="Image" src="https://github.com/user-attachments/assets/e9f696f2-3e0b-48d7-8ba7-edfbb900f1e4" />

(Screenshot shows the status line broken across ~8 lines on a moderately sized terminal window, caused by the yellow notification banner not wrapping.)

Environment

  • Claude Code v2.1.44
  • macOS (Darwin 25.2.0)
  • Terminal: iTerm2
  • Window width: ~100 columns

Notes

The issue is most visible at startup when the long notification banner is present, but any long non-wrapping output line can trigger it. Dismissing the banner (via claude install) works around the immediate trigger, but the underlying issue — content not respecting terminal width — remains.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗