Statusline/layout oscillates ±1 line while a background task runs (blank status row toggling) — regression in 2.1.186
Summary
On 2.1.186, whenever a background task/command is running, the terminal layout
oscillates up and down by exactly one line, continuously — even while completely
idle (not typing, no model output). There is no visible status text: it looks like
a blank/zero-content status row is being toggled in and out, shifting everything above
it ±1 line. The oscillation stops the instant the background task completes.
Environment
- Claude Code: 2.1.186 (native installer;
~/.local/share/claude/versions/2.1.186) - OS: macOS
- Terminal: Apple Terminal
TERM=xterm-256color
Steps to reproduce
- Start a long-running background command (e.g. a Bash tool call with
run_in_background: true, or any task that shows in the background-task UI).
- Leave the session idle — don't type; no assistant generation in progress.
- Observe the lines above the input area jump up/down by one line, repeatedly,
the whole time the task runs.
- When the background task finishes, the oscillation stops immediately.
Expected
Stable layout while a background task runs — the status row should render its content
stably or reserve a fixed height, with no per-tick relayout.
Actual
A blank / zero-content status row appears to toggle in and out on a redraw timer,
producing continuous ±1-line vertical jitter for the entire duration of the task.
Regression
- Did not occur on 2.1.185.
- Began immediately after the native installer auto-updated to 2.1.186 (2026-06-22);
the symptom's onset matches the update time exactly.
- 2.1.186's notes include background-task display changes (e.g. "Fixed background task
previews flashing raw tool names before the agent's plan loaded", "Fixed background
session recaps being duplicated") — likely the same rendering area.
- Sibling statusline regression in the same version: #70421 (OSC 8 hyperlink escape
sequences stripped in statusline output, also a 2.1.185 → 2.1.186 regression).
Workaround (believed, not yet confirmed)
Pinning to the prior build — claude install 2.1.185 with the auto-updater disabled —
is expected to avoid it, since the symptom began precisely with the 2.1.186 update.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗