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.
Showing cached comments. Read the full discussion on GitHub ↗
5 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Not a duplicate of the three suggested — checked each:
⧉ In <file>context line under the VS Code integration. This issue has no VS Code involved — it's a background-task status row in plain Apple Terminal, and it's a clean 2.1.185 → 2.1.186 regression (onset matched the auto-update exactly; 2.1.186 changed background-task display and also shipped statusline regression #70421).Requesting this stay open. If maintainers confirm #69817 and this share one underlying "status-row height toggling" fix, happy to consolidate — but the background-task trigger (no VS Code) and the precise 2.1.186 regression window are distinct, repro-backed data points worth keeping.
Still reproduces on 2.1.201 (current latest as of this writing), macOS, native installer.
Two data points to add:
run_in_backgroundcommands. With several parallel worker sessions on screen, all of them twitch continuously.TERM=xterm-256color). The symptom matches OP's diagnosis exactly: a blank/zero-content status row toggling in and out directly below the permission-mode footer line (">> bypass permissions on"), shifting everything above it up/down by one line.No custom
statusLineconfigured, so the statusline-script trailing-newline cause is ruled out.Thanks for the detailed report. I tried hard to reproduce this on Linux on the current release 2.1.233 — and also on 2.1.186, the version you identified as the first bad one — and couldn't get the oscillation in either:
sleeprun in the background by Claude (run_in_background: true) and a!bash-mode command backgrounded with ctrl+b/tui) renderers, at 100×30 and 80×24Since 2.1.186 itself doesn't show it in this setup, it looks environment-specific rather than fixed-in-the-meantime. To pin it down, could you share:
statusLinecommand in~/.claude/settings.json)? If so, does removing it temporarily stop the oscillation?/status🤖 Generated with Claude Code
We weren't able to reproduce this. Could you provide steps to trigger the issue — what you ran, what happened, and what you expected? This issue will be closed automatically if there's no activity within 7 days.