Problem
When upgrading from Neovim 0.11.7 to 0.12.0, Shift-modified number key input (0–9) stops being correctly recognized in the VSCode integrated terminal. The same problem does not happen in Windows Terminal
Characters affected and cannot be typed: !@#$%^&*()
Instead they come out as : 1234567890 respectively
Other shift modifiers works fine (e.g. ~_+{})
The issue is reproducible across multiple systems and persists even when using nightly builds (v0.13.0-dev-29+g1bcf2d7f90).
Reverting to 0.11.7 resolves the issue immediately.
This appears specific to VSCode terminal + Neovim 0.12+ input handling.
Steps to reproduce
inside VSCode integrated terminal
Test Shift-modified number input (Shift+0..Shift+9)
Try typing any of: !@#$%^&*()
or try quitting using :q!
Upgrade from:
Neovim 0.11.7 → 0.12.0 (or newer)
Observe that Shift-modified numeric input is no longer handled correctly.
Test again with:
Neovim 0.11.7 → works as expected
Expected behavior
Shift-modified number key input should be consistently recognized across versions:
!@#$%^&*() charaters should be typed out with shift modifier as is and NOT 1234567890
- 0.11.7: works correctly
- 0.12.0: should behave identically
- nightly (v0.13.0-dev-29+g1bcf2d7f90): should behave identically
VSCode integrated terminal should not lose or block Shift-modified numeric input after upgrade.
Nvim version (nvim -v)
0.12.0
Vim (not Nvim) behaves the same?
No, 8.0.1763
Operating system/version
Rocky 8.10 (WSL) and Ubuntu 24.04.2 LTS(WSL)
Terminal name/version
VSCode integrated terminal (code --version 1.111.0)
$TERM environment variable
xterm-256color
Installation
build from repo
Problem
When upgrading from Neovim 0.11.7 to 0.12.0, Shift-modified number key input (0–9) stops being correctly recognized in the VSCode integrated terminal. The same problem does not happen in Windows Terminal
Characters affected and cannot be typed:
!@#$%^&*()Instead they come out as :
1234567890respectivelyOther shift modifiers works fine (e.g.
~_+{})The issue is reproducible across multiple systems and persists even when using nightly builds (v0.13.0-dev-29+g1bcf2d7f90).
Reverting to 0.11.7 resolves the issue immediately.
This appears specific to VSCode terminal + Neovim 0.12+ input handling.
Steps to reproduce
inside VSCode integrated terminal
Test Shift-modified number input (Shift+0..Shift+9)
Try typing any of:
!@#$%^&*()or try quitting using
:q!Upgrade from:
Neovim 0.11.7 → 0.12.0 (or newer)
Observe that Shift-modified numeric input is no longer handled correctly.
Test again with:
Neovim 0.11.7 → works as expected
Expected behavior
Shift-modified number key input should be consistently recognized across versions:
!@#$%^&*()charaters should be typed out with shift modifier as is and NOT1234567890VSCode integrated terminal should not lose or block Shift-modified numeric input after upgrade.
Nvim version (nvim -v)
0.12.0
Vim (not Nvim) behaves the same?
No, 8.0.1763
Operating system/version
Rocky 8.10 (WSL) and Ubuntu 24.04.2 LTS(WSL)
Terminal name/version
VSCode integrated terminal (code --version 1.111.0)
$TERM environment variable
xterm-256color
Installation
build from repo