[BUG] Custom status line wraps vertically when notification banner is present at >= 80 columns
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
When a notification banner (e.g. "Claude Code has switched from npm to native installer...") is displayed, custom status line content wraps character-by-character vertically instead of being truncated.
The notification banner and status line share the same row. The banner takes most of the row width (extending off-screen), while the status line gets rendered in a narrow remaining column. The status line text then wraps within that column.
Breakpoint at 80 columns:
- At 79 columns or fewer, the banner and status line render on separate rows — correct behavior
- At 80+ columns, they share a row and the status line wraps vertically
The built-in status line handles this gracefully. Custom status line output that is longer triggers the wrapping.
What Should Happen?
The status line content should be truncated from the right (with an ellipsis) to fit the available space when a notification banner is present, rather than wrapping character-by-character. This matches how the built-in status line behaves.
Related: #5430 (request to pass available width to status line scripts, closed as not planned) — if width were passed, scripts could self-truncate.
Steps to Reproduce
- Configure a custom status line in
~/.claude/settings.json:
``json``
{
"statusLine": {
"type": "command",
"command": "echo 'Opus 4.6 | 62.0K tok | 76% ctx left | 5-hour: 33% | 7-day: 91%'"
}
}
- Have a notification banner active (e.g. the "switched from npm to native installer" banner)
- Launch Claude Code with terminal width >= 80 columns
- Observe the status line wrapping vertically
Claude Model
Opus
Is this a regression?
I don't know
Claude Code Version
2.1.47 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal
Ghostty 1.2.3 (also reproduced in Terminal.app)
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗