statusline JSON should include terminal dimensions (columns/rows)
the statusline command runs as a subprocess, so it has no access to the real terminal dimensions. tput cols, [Console]::WindowWidth, and mode con all return defaults (80 or 120) rather than the actual terminal size.
this makes it impossible to build responsive statuslines that shed optional segments when the terminal is narrow. the parent cc process has access to the real dimensions - passing them in the statusline JSON would solve this cleanly.
request
add terminal.columns and terminal.rows (or similar) to the JSON piped to the statusline command.
current workaround
none that work reliably. hardcoding a threshold is the only option, which breaks when users resize their terminal.
context
the statusline JSON already includes model, context window, rate limits, workspace, cost, session info, etc. terminal dimensions would be a small addition that enables responsive layouts.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗