Terminal resize causes duplicate UI frames
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Terminal resize causes the UI to redraw without proper resizing, stacking multiple stacking copies of the interface on top of each other. The terminal becomes very confusing until you press Ctrl+L or restart Claude Code. Also the Conversations start to jump in the same window when entering a new input.
<img width="811" height="674" alt="Image" src="https://github.com/user-attachments/assets/da633460-9c29-4d67-a8d5-4f9b35055a51" />
What Should Happen?
On resize, Claude Code should clear the current frame and redraw the UI to fit the new terminal dimensions — showing exactly one clean instance of the interface - The input area and conversation history should reflow to the new width/height without duplicating or overlapping
- Conversation history should stay anchored to its current scroll position when new input is submitted — not jump or reposition unexpectedly
Error Messages/Logs
Steps to Reproduce
⏺ Steps to reproduce:
- Open Claude Code in any terminal (macOS Terminal, iTerm2)
- Start a conversation — enter any prompt and receive a response
- Resize the terminal window (drag to make it larger or smaller)
- Observe the UI: previous frames remain visible, new frames stack on top
- Enter a new prompt — observe the conversation jumping position within the window
Environment:
- macOS Sequoia (Darwin 24.0.0)
- Claude Code v2.1.104
- Reproducible in: macOS Terminal + iTerm2
- $TERM: xterm-256color
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
Claude Code 2.1.104
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
iTerm2
Additional Information
i wanted to install tmux but droped it half way through to instead let CC write a python scrip
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗