Terminal rendering repeats entire conversation history (regressed in v2.1.101)

Status Open
Reported on v2.1.101
Maintainer reply None cached
Activity 5 comments · opened Apr 21, 2026

Bug Description

The Ink terminal renderer appends full frames instead of updating in-place, causing the entire conversation history to be repeated on every re-render cycle.

Environment

  • OS: macOS (Darwin 25.3.0, ARM64)
  • Terminal: Apple_Terminal (TERM_PROGRAM=Apple_Terminal, TERM=xterm-256color)
  • Install method: Volta (volta install @anthropic-ai/claude-code)
  • Locale: LANG=zh_CN.UTF-8

Regression

Binary search across versions:

| Version | Status |
|---------|--------|
| v2.1.100 | ✅ No issue |
| v2.1.101 | ❌ First affected version |
| v2.1.104 | ❌ Affected (particularly severe) |
| v2.1.108 | ❌ Affected |
| v2.1.112 | ❌ Affected |

The bug was introduced in v2.1.101 and affects all subsequent versions.

Steps to Reproduce

  1. Install via Volta: volta install @anthropic-ai/claude-code@2.1.101
  2. Start an interactive session: claude
  3. Send a few messages
  4. Observe that the entire conversation history is re-rendered below the existing output on each update cycle (e.g., when the spinner state changes)

Expected Behavior

Ink should update the terminal display in-place using ANSI escape sequences, only changing the portions that actually changed.

Actual Behavior

Each re-render cycle appends the full conversation as a new frame below the previous one, causing the terminal to scroll with massive duplicated output.

Additional Notes

  • The issue is not related to Chinese localization — verified by reproducing on the unmodified English CLI
  • The issue may be related to Ink's ANSI escape sequence handling changes in v2.1.101
  • Apple_Terminal has limited support for complex cursor manipulation compared to iTerm2 or VS Code terminal

View original on GitHub ↗

5 Comments

davidjamesmyers · 4 months ago

Seeing this in Ubuntu 24.04
Claude Code 2.1.118
Running under tmux + Oh My Zsh
GNOME Terminal Version 3.52.0 for GNOME 46

vominhtrius · 4 months ago

I'm having the same problem in Oh My Zsh

acacioojunior-maker · 4 months ago

● Experiencing a similar issue — a single response was rendered 12 times
consecutively during a normal Q&A session (no terminal resize or special
trigger that I'm aware of).

What's concerning beyond the visual duplication: my weekly token usage
showed a disproportionate spike immediately after the incident, suggesting
this may not be purely a rendering bug — it's possible the API was called
multiple times rather than just the display repeating.

Environment:

  • Platform: Linux
  • Shell: bash
  • Claude Code CLI (run claude --version and add yours here)

Would be helpful to know if the team can confirm whether duplicated renders
also duplicate API calls, as this directly impacts token quota consumption.

Claude Cli v 2.1.119

parth-io · 4 months ago

Found a workaround in #45856, set CLAUDE_CODE_NO_FLICKER=1 in your ~/.claude/settings.json:

  "env": {
    "CLAUDE_CODE_NO_FLICKER": "1"
  },
IsaacCheng9 · 3 months ago

I've also encountered this issue very frequently with the following environment:

  • Claude Code 2.1.138
  • Noticed regressions particularly around when /recap was added
  • OS: macOS Tahoe 26.4.1
  • Terminal: Ghostty 1.3.1