microsoft / microsoft/terminal
In tmux 3.4, ZSH does not work correctly either locally or by SSH
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 105k
- Forks
- 9.6k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 29
Description
Windows Terminal version
1.22.2912.0
Windows build number
10.0.22631.4391
Other Software
- Git for Windows 2.47.0.windows.2
- zsh 5.9
- tmux 3.4
- OpenSSH_9.9p1, OpenSSL 3.2.3 3 Sep 2024
Steps to reproduce
There are two issues that appear related as they are rendering problems that only occur when using ZSH. In order to reproduce the issues, either of the following is required:
- A Git bash installation with ZSH
- Connecting to a remote Linux server through SSH (via Git Bash) that is running ZSH.
Issue 1 Steps
- Start a terminal with ZSH using either of the aforementioned setups.
- Start typing any command. Longer commands will display the issue more clearly.
- Delete the command.
Issue 2 Steps
This specific issue only occurs on Linux servers with tmux and ZSH:
- Connect to a server using SSH. The terminal must be ZSH.
- Open
tmux - Open a new vertical split.
- Switch to the right-side split and enter any command.
- Now switch back to the original split and enter a different command.
Note
The flickering issue is not present in version 1.18.10301. The tmux issue however is present on any version since.
Expected Behavior
For both issues, the terminal should render the text correctly and the cursor should not flicker.
Actual Behavior
Issue 1
When entering or deleting text, the cursor jumps to the beginning of the current line and then back to the end rapidly. This is easier to see when deleting a command. Unfortunately it appears that screen recording doesn't showcase the issue properly so I can't show it.
Issue 2
See that the ~/Documents > should've appeared on the right pane, and there's a gap on the right side before the cursor where ~/Documents should've appeared.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce both issues using Git Bash with zsh and the described SSH, tmux, and vertical-split setup, comparing behavior with Windows Terminal 1.18.10301 where relevant. Trace the terminal rendering behavior involved in cursor movement and pane prompts; done means commands and prompts render correctly without cursor flicker or missing text.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- zsh
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100