[BUG] Status line renders vertically on macOS at startup until terminal width is detected
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Custom status line output renders vertically (1 character per line) for ~15 seconds at startup, then corrects itself and displays horizontally as expected.
The status line script outputs a short single line (~30 chars): [Model Name] ██████░░░░ 45%
This suggests the renderer is using a terminal width of 0 or 1 before the terminal reports its actual dimensions, causing every character to wrap.
Related to #13113 but different platform/trigger (macOS startup timing vs Windows Terminal).
Environment
- OS: macOS (Darwin 24.6.0)
- Terminal: default macOS terminal
- Status line: custom script via
settings.json
Status line config
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh",
"padding": 2
}
}
What Should Happen?
The renderer should assume a reasonable minimum terminal width (e.g. 80 or 120 columns) when actual dimensions aren't available yet, rather than defaulting to 0/1 and wrapping every character.
What Actually Happens?
For ~15 seconds after launch, the status line text is rendered vertically with 1 character per line. After the terminal reports its real width, it snaps to the correct horizontal layout.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗