Skip to content

Shift modifier on input 0-9 blocked in VSCode terminal when upgrading from Neovim 0.11.7 to 0.12.0 #38651

@Xiaorui-Huang

Description

@Xiaorui-Huang

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

nvim --clean
:edit foo

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    inputmappingskey bindings, keycodesstatus:blocked-externalNeeds a third-party / external change or fixtuitermcodes, terminfo, termcap

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions