Scrollback duplication in VS Code integrated terminal (assistant messages and prompt line repeat 2-3×)

Resolved 💬 5 comments Opened Apr 23, 2026 by julish13 Closed May 30, 2026

Summary

In long-running sessions inside the VS Code integrated terminal, assistant messages plus the input prompt line (>) get re-rendered 2–3 times in the scrollback. The underlying conversation is unaffected — the session JSONL contains the turn only once, so it's a pure rendering artifact.

This looks like a regression (or partial coverage) of the 2.1.116 fix:

Fixed scrollback duplication in inline mode where resizing the terminal or large output bursts would repeat earlier conversation history

Environment

  • Claude Code: 2.1.118
  • macOS: 26.2 (Darwin 25.2.0)
  • VS Code: integrated terminal (latest stable)
  • Shell: zsh
  • Session: ~3h long, ~68k tokens, Opus 4.7 (1M context), \"bypass permissions\" mode
  • Mode indicator showed [Timeout] in the status line at the time

Repro

  1. Open VS Code integrated terminal, start claude
  2. Run a long session with a few large outputs (Bash with sizable JSON, multi-paragraph assistant replies)
  3. Let the session idle past the timeout indicator ([Timeout] appears under the model name)
  4. Continue the conversation
  5. Earlier assistant messages and the prompt line > re-appear 2–3 times in scrollback above the current turn

Cmd+K (clear terminal scrollback) makes them disappear, confirming the conversation state is correct and only the rendering is duplicated.

Expected

Each turn renders once.

Actual

Same assistant message + prompt line render 2–3× in a row.

Notes

  • Not reproducible in non-VS-Code terminals (have not yet verified — will update if I test iTerm/Ghostty)
  • Appears to be triggered after [Timeout] re-entry into the session, possibly combined with large output bursts
  • Session journal (~/.claude/projects/.../*.jsonl) shows the turn exactly once

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗