2026-08-05 21:05:14.260 [info] Native locator: Refresh started
2026-08-05 21:05:14.338 [info] Native locator: Refresh finished in 105 ms
2026-08-05 21:05:14.358 [info] Skipping ActivatedEnv Detection: process.env.VSCODE_CLI !== '1'
2026-08-05 21:05:14.373 [info] > pyenv which python
2026-08-05 21:05:14.373 [info] cwd: .
2026-08-05 21:05:14.378 [info] Python interpreter path: .\.venv\Scripts\python.exe
2026-08-05 21:05:15.457 [info] Starting Jedi language server for test.
2026-08-05 21:05:23.805 [info] Native locator: Refresh started
2026-08-05 21:05:23.855 [info] Native locator: Refresh finished in 118 ms
2026-08-05 21:05:23.942 [debug] Testing: Setting up watcher for c:\<project-dir-name>\test
2026-08-05 21:05:23.946 [info] Skipping ActivatedEnv Detection: process.env.VSCODE_CLI !== '1'
2026-08-05 21:05:23.953 [debug] Dump environment variables {
"3DVPATH": "C:\\AMD\\Chipset_Software\\Binaries\\3D_V-Cache_Performance_Optimizer_Driver\\",
"ALLUSERSPROFILE": "C:\\ProgramData",
"APPDATA": "C:\\Users\\<username>\\AppData\\Roaming",
"CHROME_CRASHPAD_PIPE_NAME": "\\\\.\\pipe\\crashpad_22292_TVDIIWRPRKCOEGHI",
"COMPUTERNAME": "<PC-NAME>",
"EFC_8120_1262719628": "1",
"EFC_8120_1592913036": "1",
"EFC_8120_2283032206": "1",
"EFC_8120_2775293581": "1",
"EFC_8120_3789132940": "1",
"EFC_8120_4126798990": "1",
"ELECTRON_RUN_AS_NODE": "1",
"FPS_BROWSER_APP_PROFILE_STRING": "Internet Explorer",
"FPS_BROWSER_USER_PROFILE_STRING": "Default",
"HOMEDRIVE": "C:",
"HOMEPATH": "\\Users\\<username>",
"LOCALAPPDATA": "C:\\Users\\<username>\\AppData\\Local",
"LOGONSERVER": "\\\\<PC-NAME>",
"NUMBER_OF_PROCESSORS": "16",
"OS": "Windows_NT",
"PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC",
"PROCESSOR_ARCHITECTURE": "AMD64",
"PROCESSOR_IDENTIFIER": "AMD64 Family 25 Model 97 Stepping 2, AuthenticAMD",
"PROCESSOR_LEVEL": "25",
"PROCESSOR_REVISION": "6102",
"PUBLIC": "C:\\Users\\Public",
"SESSIONNAME": "Console",
"TEMP": "C:\\Users\\<username>\\AppData\\Local\\Temp",
"TMP": "C:\\Users\\<username>\\AppData\\Local\\Temp",
"USERDOMAIN": "<PC-NAME>",
"USERDOMAIN_ROAMINGPROFILE": "<PC-NAME>",
"USERNAME": "<username>",
"USERPROFILE": "C:\\Users\\<username>",
"VSCODE_CODE_CACHE_PATH": "C:\\Users\\<username>\\AppData\\Roaming\\Code\\CachedData\\df53daabb18cd157bdb08c7f01c34df936cf12f4",
"VSCODE_CRASH_REPORTER_PROCESS_TYPE": "extensionHost",
"VSCODE_CWD": "C:\\Users\\<username>\\AppData\\Local\\Programs\\Microsoft VS Code",
"VSCODE_ESM_ENTRYPOINT": "vs/workbench/api/node/extensionHostProcess",
"VSCODE_HANDLES_UNCAUGHT_ERRORS": "true",
"VSCODE_IPC_HOOK": "\\\\.\\pipe\\e1ed010e-1.132.0-main-sock",
"VSCODE_NLS_CONFIG": "{\"userLocale\":\"en-us\",\"osLocale\":\"en-dk\",\"resolvedLanguage\":\"en\",\"defaultMessagesFile\":\"C:\\\\Users\\\\<username>\\\\AppData\\\\Local\\\\Programs\\\\Microsoft VS Code\\\\df53daabb1\\\\resources\\\\app\\\\out\\\\nls.messages.json\",\"locale\":\"en-us\",\"availableLanguages\":{}}",
"VSCODE_PID": "22292",
"ComSpec": "C:\\WINDOWS\\system32\\cmd.exe",
"CommonProgramFiles": "C:\\Program Files\\Common Files",
"CommonProgramFiles(x86)": "C:\\Program Files (x86)\\Common Files",
"CommonProgramW6432": "C:\\Program Files\\Common Files",
"DriverData": "C:\\Windows\\System32\\Drivers\\DriverData",
"OneDrive": "C:\\Users\\<username>\\<onedrive-commercial-name>",
"OneDriveCommercial": "C:\\Users\\<username>\\<onedrive-commercial-name>",
"OneDriveConsumer": "C:\\Users\\<username>\\OneDrive",
"PSModulePath": "C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules",
"ProgramData": "C:\\ProgramData",
"ProgramFiles": "C:\\Program Files",
"ProgramFiles(x86)": "C:\\Program Files (x86)",
"ProgramW6432": "C:\\Program Files",
"SystemDrive": "C:",
"SystemRoot": "C:\\WINDOWS",
"windir": "C:\\WINDOWS",
"Path": "C:\\Program Files\\Microsoft SDKs\\Azure\\CLI2\\wbin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\Git\\cmd;C:\\Program Files\\Docker\\Docker\\resources\\bin;C:\\Program Files\\PuTTY\\;C:\\Program Files\\dotnet\\;C:\\Program Files\\NVIDIA Corporation\\NVIDIA App\\NvDLISR;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files (x86)\\cloudflared\\;C:\\Program Files\\Microsoft\\Azure Functions Core Tools\\;C:\\Program Files (x86)\\Windows Kits\\10\\Windows Performance Toolkit\\;C:\\Users\\<username>\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\<username>\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\<username>\\AppData\\Local\\Microsoft\\WinGet\\Links;C:\\Users\\<username>\\AppData\\Local\\GitHubDesktop\\bin;C:\\Users\\<username>\\AppData\\Local\\Microsoft\\WinGet\\Packages\\Schniz.fnm_Microsoft.Winget.Source_8wekyb3d8bbwe;C:\\Users\\<username>\\AppData\\Local\\PowerToys\\DSCModules\\;"
}
2026-08-05 21:05:23.959 [info] > pyenv which python
2026-08-05 21:05:23.959 [info] cwd: .
2026-08-05 21:05:23.966 [debug] Python API env change detected c:\<project-dir-name>\test\.venv\Scripts\python.exe update
2026-08-05 21:05:23.967 [info] Python interpreter path: .\.venv\Scripts\python.exe
2026-08-05 21:05:24.020 [debug] [Error: Command failed: pyenv which python
'pyenv' is not recognized as an internal or external command,
operable program or batch file.
at genericNodeError (node:internal/errors:985:15)
at wrappedFn (node:internal/errors:539:14)
at ChildProcess.exithandler (node:child_process:418:12)
at ChildProcess.emit (node:events:521:24)
at maybeClose (node:internal/child_process:1124:16)
at Socket.<anonymous> (node:internal/child_process:481:11)
at Socket.emit (node:events:509:28)
at Pipe.<anonymous> (node:net:351:12)] {
code: 1,
killed: false,
signal: null,
cmd: 'pyenv which python'
}
2026-08-05 21:05:24.898 [debug] Received shell integration sequence for powershellCore
2026-08-05 21:05:24.969 [info] Starting Jedi language server for test.
2026-08-05 21:05:24.970 [debug] Terminal shell path 'C:\Users\<username>\AppData\Local\Microsoft\WindowsApps\Microsoft.PowerShell_8wekyb3d8bbwe\pwsh.exe' identified as shell 'powershellCore'
2026-08-05 21:05:24.970 [debug] Shell identified as powershellCore
2026-08-05 21:05:25.476 [debug] Delay Trigger[Test Configuration Change]: triggered=2, called=1
2026-08-05 21:05:26.091 [debug] Delay Trigger[Test Configuration Change]: triggered=4, called=2
2026-08-05 21:05:27.680 [info] > .\.venv\Scripts\python.exe ~\.vscode\extensions\ms-python.python-2026.4.0-win32-x64\python_files\normalizeSelection.py
2026-08-05 21:05:27.680 [debug] CreateEnv Trigger - Skipping No URI provided
2026-08-05 21:05:27.734 [debug] Terminal shell path 'C:\Users\<username>\AppData\Local\Microsoft\WindowsApps\Microsoft.PowerShell_8wekyb3d8bbwe\pwsh.exe' identified as shell 'powershellCore'
2026-08-05 21:05:27.734 [debug] Shell identified as powershellCore
2026-08-05 21:05:27.835 [debug] Terminal name 'Python' identified as shell 'other'
2026-08-05 21:05:27.835 [debug] Terminal shell path 'C:\Users\<username>\AppData\Local\Microsoft\WindowsApps\Microsoft.PowerShell_8wekyb3d8bbwe\pwsh.exe' identified as shell 'powershellCore'
2026-08-05 21:05:27.835 [debug] Shell identified as powershellCore (Terminal name is Python)
2026-08-05 21:05:27.843 [debug] could not find a pixi interpreter for the interpreter at c:\<project-dir-name>\test\.venv\Scripts\python.exe
2026-08-05 21:05:27.844 [debug] Command sent to terminal: & c:/<project-dir-name>/test/.venv/Scripts/Activate.ps1
2026-08-05 21:05:27.844 [info] Send text to terminal: & c:/<project-dir-name>/test/.venv/Scripts/Activate.ps1
2026-08-05 21:05:28.346 [debug] Received shell integration sequence for powershellCore
2026-08-05 21:05:28.347 [debug] Python REPL queued command: import os
import sys
import time
# ==========================================================
# Repro script for VS Code "Run Selection/Line" slow-send bug
# Select all of this and press Shift+Enter
# ==========================================================
# comment line 01 ------------------------------------------------------
# comment line 02 ------------------------------------------------------
# comment line 03 ------------------------------------------------------
# comment line 04 ------------------------------------------------------
# comment line 05 ------------------------------------------------------
# comment line 06 ------------------------------------------------------
# comment line 07 ------------------------------------------------------
# comment line 08 ------------------------------------------------------
# comment line 09 ------------------------------------------------------
# comment line 10 ------------------------------------------------------
def test_function_with_many_lines():
variable_one = 1
variable_two = 2
variable_three = 3
variable_four = 4
variable_five = 5
variable_six = 6
variable_seven = 7
variable_eight = 8
variable_nine = 9
variable_ten = 10
variable_eleven = 11
variable_twelve = 12
variable_thirteen = 13
variable_fourteen = 14
variable_fifteen = 15
variable_sixteen = 16
variable_seventeen = 17
variable_eighteen = 18
variable_nineteen = 19
variable_twenty = 20
variable_twenty_one = 21
variable_twenty_two = 22
variable_twenty_three = 23
variable_twenty_four = 24
variable_twenty_five = 25
variable_twenty_six = 26
variable_twenty_seven = 27
variable_twenty_eight = 28
variable_twenty_nine = 29
variable_thirty = 30
return (
variable_one, variable_two, variable_three, variable_four,
variable_five, variable_six, variable_seven, variable_eight,
variable_nine, variable_ten, variable_eleven, variable_twelve,
variable_thirteen, variable_fourteen, variable_fifteen,
variable_sixteen, variable_seventeen, variable_eighteen,
variable_nineteen, variable_twenty, variable_twenty_one,
variable_twenty_two, variable_twenty_three, variable_twenty_four,
variable_twenty_five, variable_twenty_six, variable_twenty_seven,
variable_twenty_eight, variable_twenty_nine, variable_thirty,
)
class DemoConfig:
"""A small class purely to add nested/indented blocks to the paste."""
setting_one = "alpha"
setting_two = "bravo"
setting_three = "charlie"
setting_four = "delta"
setting_five = "echo"
def method_one(self):
result = []
for i in range(10):
if i % 2 == 0:
result.append(f"even-{i}")
else:
result.append(f"odd-{i}")
return result
def method_two(self):
nested = {
"level_one": {
"level_two": {
"level_three": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
}
}
}
return nested
long_string_variable = (
"This is a long string used purely to add horizontal character volume "
"to the pasted block, so that any character-by-character send behavior "
"becomes visually obvious rather than subtle when recording a GIF of "
"the terminal output during the reproduction of this bug."
)
another_long_string = "x" * 200
a_dictionary_with_many_keys = {
"key_one": 1, "key_two": 2, "key_three": 3, "key_four": 4,
"key_five": 5, "key_six": 6, "key_seven": 7, "key_eight": 8,
"key_nine": 9, "key_ten": 10, "key_eleven": 11, "key_twelve": 12,
"key_thirteen": 13, "key_fourteen": 14, "key_fifteen": 15,
}
a_list_with_many_items = [
"item_01", "item_02", "item_03", "item_04", "item_05",
"item_06", "item_07", "item_08", "item_09", "item_10",
"item_11", "item_12", "item_13", "item_14", "item_15",
"item_16", "item_17", "item_18", "item_19", "item_20",
]
print("=" * 60)
print("REPRO SCRIPT EXECUTED SUCCESSFULLY")
print(f"Timestamp: {time.time()}")
print(f"Function result length: {len(test_function_with_many_lines())}")
print(f"Config demo: {DemoConfig().method_one()}")
print("=" * 60)
2026-08-05 21:05:28.348 [debug] Shell Integration is enabled, executeCommand: & c:/<project-dir-name>/test/.venv/Scripts/python.exe
2026-08-05 21:05:28.391 [debug] Extension unknown accessed getActiveEnvironmentPath with args: undefined
2026-08-05 21:05:28.392 [debug] Extension unknown accessed resolveEnvironment with args: {"id":"C:\\<project-dir-name>\\TEST\\.VENV\\SCRIPTS\\PYTHON.EXE","path":"c:\\<project-dir-name>\\test\\.venv\\Scripts\\python.exe"}
2026-08-05 21:05:28.402 [debug] Received shell integration sequence for powershellCore
2026-08-05 21:05:32.990 [debug] Extension unknown accessed getActiveEnvironmentPath with args: undefined
2026-08-05 21:05:32.990 [debug] Extension unknown accessed resolveEnvironment with args: {"id":"C:\\<project-dir-name>\\TEST\\.VENV\\SCRIPTS\\PYTHON.EXE","path":"c:\\<project-dir-name>\\test\\.venv\\Scripts\\python.exe"}
2026-08-05 21:05:33.926 [debug] Python REPL ready from terminal shell api
2026-08-05 21:05:33.926 [debug] Executing queued REPL command: import os
import sys
import time
# ==========================================================
# Repro script for VS Code "Run Selection/Line" slow-send bug
# Select all of this and press Shift+Enter
# ==========================================================
# comment line 01 ------------------------------------------------------
# comment line 02 ------------------------------------------------------
# comment line 03 ------------------------------------------------------
# comment line 04 ------------------------------------------------------
# comment line 05 ------------------------------------------------------
# comment line 06 ------------------------------------------------------
# comment line 07 ------------------------------------------------------
# comment line 08 ------------------------------------------------------
# comment line 09 ------------------------------------------------------
# comment line 10 ------------------------------------------------------
def test_function_with_many_lines():
variable_one = 1
variable_two = 2
variable_three = 3
variable_four = 4
variable_five = 5
variable_six = 6
variable_seven = 7
variable_eight = 8
variable_nine = 9
variable_ten = 10
variable_eleven = 11
variable_twelve = 12
variable_thirteen = 13
variable_fourteen = 14
variable_fifteen = 15
variable_sixteen = 16
variable_seventeen = 17
variable_eighteen = 18
variable_nineteen = 19
variable_twenty = 20
variable_twenty_one = 21
variable_twenty_two = 22
variable_twenty_three = 23
variable_twenty_four = 24
variable_twenty_five = 25
variable_twenty_six = 26
variable_twenty_seven = 27
variable_twenty_eight = 28
variable_twenty_nine = 29
variable_thirty = 30
return (
variable_one, variable_two, variable_three, variable_four,
variable_five, variable_six, variable_seven, variable_eight,
variable_nine, variable_ten, variable_eleven, variable_twelve,
variable_thirteen, variable_fourteen, variable_fifteen,
variable_sixteen, variable_seventeen, variable_eighteen,
variable_nineteen, variable_twenty, variable_twenty_one,
variable_twenty_two, variable_twenty_three, variable_twenty_four,
variable_twenty_five, variable_twenty_six, variable_twenty_seven,
variable_twenty_eight, variable_twenty_nine, variable_thirty,
)
class DemoConfig:
"""A small class purely to add nested/indented blocks to the paste."""
setting_one = "alpha"
setting_two = "bravo"
setting_three = "charlie"
setting_four = "delta"
setting_five = "echo"
def method_one(self):
result = []
for i in range(10):
if i % 2 == 0:
result.append(f"even-{i}")
else:
result.append(f"odd-{i}")
return result
def method_two(self):
nested = {
"level_one": {
"level_two": {
"level_three": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
}
}
}
return nested
long_string_variable = (
"This is a long string used purely to add horizontal character volume "
"to the pasted block, so that any character-by-character send behavior "
"becomes visually obvious rather than subtle when recording a GIF of "
"the terminal output during the reproduction of this bug."
)
another_long_string = "x" * 200
a_dictionary_with_many_keys = {
"key_one": 1, "key_two": 2, "key_three": 3, "key_four": 4,
"key_five": 5, "key_six": 6, "key_seven": 7, "key_eight": 8,
"key_nine": 9, "key_ten": 10, "key_eleven": 11, "key_twelve": 12,
"key_thirteen": 13, "key_fourteen": 14, "key_fifteen": 15,
}
a_list_with_many_items = [
"item_01", "item_02", "item_03", "item_04", "item_05",
"item_06", "item_07", "item_08", "item_09", "item_10",
"item_11", "item_12", "item_13", "item_14", "item_15",
"item_16", "item_17", "item_18", "item_19", "item_20",
]
print("=" * 60)
print("REPRO SCRIPT EXECUTED SUCCESSFULLY")
print(f"Timestamp: {time.time()}")
print(f"Function result length: {len(test_function_with_many_lines())}")
print(f"Config demo: {DemoConfig().method_one()}")
print("=" * 60)
2026-08-05 21:05:33.926 [info] Send text to terminal: import os
import sys
import time
# ==========================================================
# Repro script for VS Code "Run Selection/Line" slow-send bug
# Select all of this and press Shift+Enter
# ==========================================================
# comment line 01 ------------------------------------------------------
# comment line 02 ------------------------------------------------------
# comment line 03 ------------------------------------------------------
# comment line 04 ------------------------------------------------------
# comment line 05 ------------------------------------------------------
# comment line 06 ------------------------------------------------------
# comment line 07 ------------------------------------------------------
# comment line 08 ------------------------------------------------------
# comment line 09 ------------------------------------------------------
# comment line 10 ------------------------------------------------------
def test_function_with_many_lines():
variable_one = 1
variable_two = 2
variable_three = 3
variable_four = 4
variable_five = 5
variable_six = 6
variable_seven = 7
variable_eight = 8
variable_nine = 9
variable_ten = 10
variable_eleven = 11
variable_twelve = 12
variable_thirteen = 13
variable_fourteen = 14
variable_fifteen = 15
variable_sixteen = 16
variable_seventeen = 17
variable_eighteen = 18
variable_nineteen = 19
variable_twenty = 20
variable_twenty_one = 21
variable_twenty_two = 22
variable_twenty_three = 23
variable_twenty_four = 24
variable_twenty_five = 25
variable_twenty_six = 26
variable_twenty_seven = 27
variable_twenty_eight = 28
variable_twenty_nine = 29
variable_thirty = 30
return (
variable_one, variable_two, variable_three, variable_four,
variable_five, variable_six, variable_seven, variable_eight,
variable_nine, variable_ten, variable_eleven, variable_twelve,
variable_thirteen, variable_fourteen, variable_fifteen,
variable_sixteen, variable_seventeen, variable_eighteen,
variable_nineteen, variable_twenty, variable_twenty_one,
variable_twenty_two, variable_twenty_three, variable_twenty_four,
variable_twenty_five, variable_twenty_six, variable_twenty_seven,
variable_twenty_eight, variable_twenty_nine, variable_thirty,
)
class DemoConfig:
"""A small class purely to add nested/indented blocks to the paste."""
setting_one = "alpha"
setting_two = "bravo"
setting_three = "charlie"
setting_four = "delta"
setting_five = "echo"
def method_one(self):
result = []
for i in range(10):
if i % 2 == 0:
result.append(f"even-{i}")
else:
result.append(f"odd-{i}")
return result
def method_two(self):
nested = {
"level_one": {
"level_two": {
"level_three": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
}
}
}
return nested
long_string_variable = (
"This is a long string used purely to add horizontal character volume "
"to the pasted block, so that any character-by-character send behavior "
"becomes visually obvious rather than subtle when recording a GIF of "
"the terminal output during the reproduction of this bug."
)
another_long_string = "x" * 200
a_dictionary_with_many_keys = {
"key_one": 1, "key_two": 2, "key_three": 3, "key_four": 4,
"key_five": 5, "key_six": 6, "key_seven": 7, "key_eight": 8,
"key_nine": 9, "key_ten": 10, "key_eleven": 11, "key_twelve": 12,
"key_thirteen": 13, "key_fourteen": 14, "key_fifteen": 15,
}
a_list_with_many_items = [
"item_01", "item_02", "item_03", "item_04", "item_05",
"item_06", "item_07", "item_08", "item_09", "item_10",
"item_11", "item_12", "item_13", "item_14", "item_15",
"item_16", "item_17", "item_18", "item_19", "item_20",
]
print("=" * 60)
print("REPRO SCRIPT EXECUTED SUCCESSFULLY")
print(f"Timestamp: {time.time()}")
print(f"Function result length: {len(test_function_with_many_lines())}")
print(f"Config demo: {DemoConfig().method_one()}")
print("=" * 60)
Type: Bug
Behaviour
When the target Python interpreter has
pyreadline3installed (a common transitive dependency, e.g. viamagika/markitdown), sending code to the integrated terminal via "Run Selection/Line in Terminal" (Shift+Enter) no longer sends as a single atomic block. Instead, the text appears to be delivered/rendered character-by-character, execution is delayed by several seconds even for trivial code, and previously-printed terminal output is sometimes overwritten rather than scrolled.With pyreadlines3 installed

This does not occur:
pyreadline3is not installed in the target interpreter. Uninstalling it (pip uninstall pyreadline3/uv pip uninstall pyreadline3) from an otherwise identical venv immediately and fully resolves the issue, with no other changepython.REPL.sendToNativeREPL: true(bypasses the classic terminal REPL entirely)Without pyreadlines3 installed

This was isolated after extensive testing that ruled out: VS Code version/build (reproduced on 1.121, 1.124, 1.131, both stable and portable installs), all other extensions (reproduced with all disabled), all user/workspace settings (reproduced with settings fully stripped), GPU-accelerated terminal renderer, shell (pwsh 7.6.4 and Windows PowerShell 5.1), execution policy, antivirus/AMSI, background services, Windows Search indexing, Windows Terminal app presence, PowerToys, system file corruption (
sfc), and a full in-place Windows repair install. A CPU profile of the extension host during the slow window shows it almost entirely idle, confirming the delay is not in VS Code's JS/extension-host layer but downstream in how the terminal/REPL handles the input once sent.Working theory:
pyreadline3hooks Windows console input (to provide GNU-readline-style line editing/history for the interactive REPL) in a way that conflicts with the Python extension's shell-integration / bracketed-paste send path for the classic terminal REPL.Steps to reproduce:
uv venv --python=3.12(orpython -m venv) to create a fresh virtual environmentuv pip install pyreadline3(orpip install pyreadline3).pyfile with enough content to make the delay clearly visible. A short snippet may only show a subtle lag; a longer block (~20-30 lines with nested indentation, e.g. a function plus a class) makes both the slowdown and the character-by-character/overwrite rendering unambiguous. Example script: [link to gist or attachrepro_test.py]pip uninstall pyreadline3, close and reopen the terminal, repeat step 5 sending is now instant and clean, confirmingpyreadline3as the sole variableDiagnostic data
Output for
Pythonin theOutputpanel (View→Output, change the drop-down the upper-right of theOutputpanel toPython)With
pyreadline3installed (slow/broken):Extension version: 2026.4.0
VS Code version: Code 1.132.0 (df53daabb18cd157bdb08c7f01c34df936cf12f4, 2026-08-04T15:30:20Z)
OS version: Windows_NT x64 10.0.26200
Modes:
python.languageServersetting: DefaultUser Settings
Installed Extensions
System Info
GPU0: VENDOR= 0x10de, DEVICE=0x2216 [NVIDIA GeForce RTX 3080], DRIVER_VENDOR=NVIDIA, DRIVER_VERSION=32.0.15.9186 ACTIVE
GPU1: VENDOR= 0x1002, DEVICE=0x164e [AMD Radeon(TM) Graphics], DRIVER_VERSION=32.0.21030.2001
GPU2: VENDOR= 0x1414, DEVICE=0x008c [Microsoft Basic Render Driver], DRIVER_VERSION=10.0.26100.8875
Machine model name:
Machine model version:
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
trees_in_viz: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgpu: enabled
webnn: disabled_off
A/B Experiments