microsoft / microsoft/terminal

Visual Studio Code + zsh + ConPTY = input issues

Open
#364 17 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-Input Area-Performance Issue-Bug Needs-Repro Product-Conpty Work-Item
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

I was sent here via https://github.com/Microsoft/vscode/issues/67227

  • Your Windows build number:
    Microsoft Windows [Version 10.0.18323.1000]

  • What you're doing and what's happening: (Copy & paste specific commands and their output, or include screen shots)
    I type in the VS Code integrated terminal. Always at the second letter after the prompt, the cursor seems to jump momentarily. Sometimes single characters of my input aren't processed, but I couldn't reproduce this when trying to take a video. However, it is definitely related to the jumping/flickering.

Looks like this:

flicker

NB: I can only reproduce this issue with zsh (version 5.4.2 (x86_64-pc-msys)), not with PowerShell nor bash.

@Tyriar pointed me at the terminal.integrated.windowsEnableConpty option. With that option disabled, the problem is gone.

  • What's wrong / what should be happening instead:

The cursor shouldn't flicker/jump, all input should be processed, the same way as when ConPTY is disabled. Like this:

noflicker

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the input flicker in the VS Code integrated terminal with zsh and terminal.integrated.windowsEnableConpty enabled, then compare it with ConPTY disabled and with bash or PowerShell. Trace the ConPTY input path; done means zsh input is fully processed and the cursor no longer jumps or flickers.

Written by the indexing model from the issue text.

Assessment

Tech stack
vscode, zsh
Domain
cli, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.