[BUG] Terminal rendering corruption during AI response generation (Frosting state)
Resolved 💬 3 comments Opened Feb 3, 2026 by minislively Closed Feb 7, 2026
Environment
- Platform: macOS Darwin 25.2.0
- Terminal: iTerm2
- Claude Code Version: Latest
- Plugin: oh-my-claudecode (with HUD statusline)
Description
During AI response generation ("Frosting..." loading state), the terminal rendering becomes corrupted. Text gets truncated, overlapped, and mispositioned.
Screenshots
The issue manifests as:
- Text fragments appearing at wrong positions
- Truncated text ("ard shortcuts for locked" instead of full text)
- Input prompt
$appearing in wrong location - Status bar text bleeding into main output area
Steps to Reproduce
- Start Claude Code with a plugin that adds a status line (e.g., oh-my-claudecode HUD)
- Submit a query that requires tool use / multiple operations
- While AI is generating response ("Frosting..." state)
- Observe: Text rendering becomes corrupted intermittently
Expected Behavior
Text should render cleanly without overlap or truncation during all loading states.
Actual Behavior
- Text fragments appear truncated
- Lines overlap with each other
- Cursor/prompt position becomes incorrect
- Rendering artifacts persist until screen refresh
Analysis
This appears to be a race condition in React Ink's rendering during:
- Concurrent updates (AI streaming + status line updates)
- Terminal resize/reflow calculations
- Multiple render regions updating simultaneously
The issue is exacerbated when plugins add additional render regions (like status bars) that compete for terminal space during rapid updates.
Impact
- Severity: Medium - Cosmetic but confusing
- Frequency: Intermittent, more common with plugins
- Workaround: Wait for completion, screen usually corrects itself
Related
- May be related to terminal escape sequence handling
- Similar to IME positioning issues (#18291, #16322) in that Ink rendering assumptions break
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗