microsoft / microsoft/vscode-remote-release
When connecting from a Linux client to a Windows SSH host, Remote-SSH fails in the exec-server bootstrap path if the VS Code Server still needs to be downloaded on the remote.
Nobody has claimed this yet.
- Dominant language
- Dockerfile
- Stars
- 4.2k
- Forks
- 469
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 1
Description
Is there an existing issue for this bug?
- I have searched the existing open issues and found none that apply.
- If I find any issue of interest that is related or closed, I will included a link to it in this issue.
Required Troubleshooting Steps
- I have read and performed the troubleshooting steps
- I have tried both values of the
remote.SSH.useLocalServersetting - My issue was not covered in the Tips and Tricks linked from the Troubleshooting Wiki.
- I will include a complete copy of my Remote - SSH logs by running Remote-SSH: Show Log in the command palette or from View > Output in the menu bar
[Optional] Diagnose with Copilot
I asked @remote-ssh and it helped, but I still want to report this bug
In step 2 of the troubleshooting wiki, what was the result of running the generated SSH command verbatim outside of VS Code?
I did not try step 2 of the troubleshooting steps
Remote-SSH Log
Remote-SSH Log
[19:15:24.074] Log Level: 2
[19:15:24.108] SSH Resolver called for "ssh-remote+{remoteIp}", attempt 1
[19:15:24.116] remote.SSH.useLocalServer = true
[19:15:24.116] remote.SSH.useExecServer = true
[19:15:24.117] remote.SSH.bindHost = {}
[19:15:24.117] remote.SSH.path =
[19:15:24.117] remote.SSH.configFile =
[19:15:24.117] remote.SSH.useFlock = true
[19:15:24.118] remote.SSH.lockfilesInTmp = false
[19:15:24.118] remote.SSH.localServerDownload = auto
[19:15:24.118] remote.SSH.remoteServerListenOnSocket = false
[19:15:24.119] remote.SSH.defaultExtensions = []
[19:15:24.119] remote.SSH.defaultExtensionsIfInstalledLocally = []
[19:15:24.119] remote.SSH.loglevel = 2
[19:15:24.119] remote.SSH.enableDynamicForwarding = true
[19:15:24.120] remote.SSH.enableRemoteCommand = false
[19:15:24.121] remote.SSH.serverPickPortsFromRange = {}
[19:15:24.122] remote.SSH.serverInstallPath = {}
[19:15:24.122] remote.SSH.permitPtyAllocation = false
[19:15:24.122] remote.SSH.preferredLocalPortRange = undefined
[19:15:24.123] remote.SSH.useCurlAndWgetConfigurationFiles = false
[19:15:24.123] remote.SSH.experimental.chat = true
[19:15:24.123] remote.SSH.experimental.enhancedSessionLogs = true
[19:15:24.124] remote.SSH.httpProxy = {"*":""}
[19:15:24.124] remote.SSH.httpsProxy = {"*":""}
[19:15:24.138] VS Code version: 1.121.0
[19:15:24.139] Remote-SSH version: remote-ssh@0.123.0
[19:15:24.139] linux x64
[19:15:24.144] SSH Resolver called for host: {remoteIp}
[19:15:24.144] Setting up SSH remote "{remoteIp}"
[19:15:24.153] Acquiring local install lock: /tmp/vscode-remote-ssh-76caa2d9-install.lock
[19:15:24.158] Looking for existing server data file at /home/{username}/.config/Code/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-76caa2d9-f6cfa2ea2403534de03f069bdf160d06451ed282-0.123.0-es/data.json
[19:15:24.161] No existing data file
[19:15:24.163] Using commit id "f6cfa2ea2403534de03f069bdf160d06451ed282" and quality "stable" for server
[19:15:24.164] Extensions to install:
[19:15:24.176] Install and start server if needed
[19:15:24.184] PATH: /home/{username}/.local/bin:/home/{username}/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
[19:15:24.184] Checking ssh with "ssh -V"
[19:15:24.194] > OpenSSH_9.2p1 Debian-2+deb12u7, OpenSSL 3.0.19 27 Jan 2026
[19:15:24.202] askpass server listening on /run/user/1000/vscode-ssh-askpass-6ddf603ce1538bc049b92bfe0e5b98034398f44e.sock
[19:15:24.202] Spawning local server with {"serverId":1,"ipcHandlePath":"/run/user/1000/vscode-ssh-askpass-fb58a5781309fc63885362e78df04f9c3622ce49.sock","sshCommand":"ssh","sshArgs":["-v","-T","-D","42703","-o","ConnectTimeout=30","{remoteIp}"],"serverDataFolderName":".vscode-server","dataFilePath":"/home/{username}/.config/Code/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-76caa2d9-f6cfa2ea2403534de03f069bdf160d06451ed282-0.123.0-es/data.json"}
[19:15:24.202] Local server env: {"SSH_AUTH_SOCK":"/tmp/ssh-sJYf55CnZXwK/agent.2969","SHELL":"/usr/bin/zsh","DISPLAY":":1","ELECTRON_RUN_AS_NODE":"1","SSH_ASKPASS":"/home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/local-server/askpass.sh","VSCODE_SSH_ASKPASS_NODE":"/usr/share/code/code","VSCODE_SSH_ASKPASS_EXTRA_ARGS":"","VSCODE_SSH_ASKPASS_MAIN":"/home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/askpass-main.js","VSCODE_SSH_ASKPASS_HANDLE":"/run/user/1000/vscode-ssh-askpass-6ddf603ce1538bc049b92bfe0e5b98034398f44e.sock"}
[19:15:24.207] Spawned 170699
[19:15:24.208] Using connect timeout of 32 seconds
[19:15:24.333] > local-server-1> Running ssh connection command: ssh -v -T -D 42703 -o ConnectTimeout=30 {remoteIp}
[19:15:24.339] > local-server-1> Spawned ssh, pid=170707
[19:15:24.344] stderr> OpenSSH_9.2p1 Debian-2+deb12u7, OpenSSL 3.0.19 27 Jan 2026
[19:15:24.413] stderr> debug1: Server host key: ssh-ed25519 SHA256:O1hLEcI2c+b+5B7xr6RGG3UWCraIOTc722IbbzyRIs0
[19:15:24.534] stderr> Authenticated to {remoteIp} ([{remoteIp}]:22) using "publickey".
[19:15:24.652] > Microsoft Windows [Version 10.0.26200.8457]
> (c) Microsoft Corporation. All rights reserved.
>
> {remote_username}@{remote_hostname} C:\Users\{remote_username}>echo 'ready: d6c78889840f'
> 'ready: d6c78889840f'
>
> {remote_username}@{remote_hostname} C:\Users\{remote_username}>
[19:15:24.654] > uname -rsv
[19:15:24.656] Platform: windows
[19:15:24.656] Remote command length: 6676/8192 characters
[19:15:24.657] >
> {remote_username}@{remote_hostname} C:\Users\{remote_username}>
[19:15:24.659] > powershell -NoProfile
[19:15:24.746] > Windows PowerShell
> Copyright (C) Microsoft Corporation. All rights reserved.
>
> Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows
[19:15:24.904] > PS C:\Users\{remote_username}>
[19:15:24.942] > powershell -ExecutionPolicy Unrestricted -NoLogo -NoProfile -NonInteractive -Command "`$remoteSSHConfigurationScript=[Convert]::ToBase64String([Te
[19:15:24.942] > xt.Encoding]::Unicode.GetBytes([Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('CiR1dWlkPSJkNmM3ODg4OTg0MGYiCiIke3V1aWR9OiBydW5uaW5nIgoiZDZjNzg4ODk4NDBmOiBwYXVzZUxvZyIKJFByb2dyZXNzUHJlZmVyZW5jZT0nU2lsZW50bHlDb250aW51ZScKJHJfPSdmNmNmYTJlYTI0MDM1MzRkZTAzZjA2OWJkZjE2MGQwNjQ1MWVkMjgyJwokcD0kZW52OlBST0NFU1NPUl9BUkNISVRFQ1RVUkUKJGFyY2g9JycKaWYgKCRwIC1lcSAnQU1ENjQnIC1vciAkcCAtZXEgJ0lBNjQnKSB7CiRhcmNoPSd4NjQnCn0gZWxzZWlmICgkcCAtZXEgJ0FSTTY0JykgewokYXJjaD0nYXJtNjQnCn0KaWYgKCRhcmNoIC1lcSAnJykgewoiVW5zdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlICckcCcuIgpxIDE5Ngp9CmlmICgnJyAtbmUgJycpIHsKJGVudjpodHRwX3Byb3h5ID0gJycKfQppZiAoJycgLW5lICcnKSB7CiRlbnY6aHR0cHNfcHJveHkgPSAnJwp9CiRzXz0oSm9pbi1QYXRoIChSZXNvbHZlLVBhdGggfikgJy52c2NvZGUtc2VydmVyJykKJ
[19:15:24.943] > GNsaURhdGFEaXI9KEpvaW4tUGF0aCAiJHNfIiAnY2xpJykKJGVudjpWU0NPREVfQUdFTlRfRk9MREVS
[19:15:24.943] > PSRzXwokbG9nPU5ldy1UZW1wb3JhcnlGaWxlCiRjXz0iY29kZSIKJGRfPSIkY18uZXhlIgokZV89IiRjXy0kcl8uZXhlIgokZl89IiRzX1wkZV8iCiR0Xz0nc3RhYmxlJwoka189JFRydWUKJGxfPSRGYWxzZQokZ2xvYmFsOnZfID0gJEZhbHNlCiRnbG9iYWw6d18gPSAnJwokZ2xvYmFsOm5fID0gJycKJGdsb2JhbDpvXyA9ICcnCiRnbG9iYWw6cF8gPSAnJwokZ2xvYmFsOnFfID0gJycKZnVuY3Rpb24gYWtfIHsKImxpc3RlbmluZ09uPT0kcG9ydD09Igoib3NSZWxlYXNlSWQ
[19:15:24.943] > 9PXdpbmRvd3M9PSIKIm9zVmVyc2lvbj09JGFpXz09IgoiYXJjaD09JGFyY2g9PSIKInBsYXRmb3JtPT13aW5kb3dzPT0iCiJ1bnBhY2tSZXN1bHQ9PSR3Xz09IgoiZGlkTG9jYWxEb3dubG9hZD09JHZfPT0iCiJkb3dubG9hZFRpbWU9PSRuXz09IgoiaW5zdGFsbFRpbWU9PSRvXz09IgoiZXh0SW5zdGFsbFRpbWU9PSRwXz09Igoic2VydmVyU3RhcnRUaW1lPT0kcV8
[19:15:24.944] > 9PSIKImV4ZWNTZXJ2ZXJUb2tlbj09NDI1MjVjOWQtNWJhMi00MjlmLTk1YmUtYmQxOWIwZjkyMDA1PT0iCn0KZnVuY3Rpb24gbV8gewpyZXR1cm4gW3N5c3RlbS5kaWFnbm9zdGljcy5zdG9wd2F0Y2hdOjpTdGFydE5ldygpOwp9CmZ1bmN0aW9uIHEoJGNvZGUpIHsKIiR7dXVpZH06IHN0YXJ0Igo
[19:15:24.944] > iZXhpdENvZGU9PSRjb2RlPT0iCmFrXwoiJHt1dWlkfTogZW5kIgp9CmZ1bmN0aW9uIGFfIHsKJHhfPSRQSUQKd2hpbGUgKCRUcnVlKSB7CiR5Xz0oZ2NpbSB3aW4zMl9wcm9jZXNzIHwgPyBwcm9jZXNzaWQgLWVxICR4XykucGFyZW50
[19:15:24.944] > cHJvY2Vzc2lkCmlmICghJHlfKSB7CiJubyBzc2hkIHBhcmVudCBwcm9jIgpleGl0IDAKfQppZiAoKGdwcyAtSWQgJHlfKS5OYW1lIC1lcSAnc3NoZCcpIHsKcm
[19:15:24.945] > V0dXJuICR5Xwp9CiR4Xz0keV8KfQp9CmZ1bmN0aW9uIGJfIHsKaWYgKCRsYXVuY2hlZENsaTFQaWQpIHsKaWYgKCEoZ3BzIC1JZCAkel8pKSB7CiJzZXJ2ZXIgZGllZCwgZXhpdCIKZXhpdCAwCn0KfSBlbHNlIHsKaWYgKCEoZ3BzIC1JZCAkc3NoZFBJRCkpIHs
[19:15:24.945] > KInNzaGQgcGFyZW50IGRpZWQsIGV4aXQiCmV4aXQgMAp9Cn0KfQpmdW5jdGlvbiBHZXRBcnRpZmFjdE5hbWUgewoiY2xpLXdpbjMyLSRhcmNoIgp9CmZ1bmN0aW9uIGdfIHsKJHM9bV8KIkRvd25sb2FkaW5nIGNsaSAkYXJjaCIKIiR7dXVpZH0lJTElJSIKJGFuP
[19:15:24.945] > UdldEFydGlmYWN0TmFtZQokc3Bs
[19:15:24.947] > YXQ9QHsKVXJpPSJodHRwczovL3VwZGF0ZS5jb2RlLnZpc3VhbHN0dWRpby5jb20vY29tbWl0OiRyXy8kYW4vJHRfIgpUaW1lb3V0U2VjPTIwCk91dEZpbGU9InZzY29kZS1jbGktJHJfLnppcCIKVXNlQmFzaWNQYXJzaW5nPSRUcnVlCn0KW05ldC5TZXJ2aWNlUG9pbnRNYW5hZ2VyXTo6U2VjdXJpdHlQcm90b2NvbCA9ICdUbHMxMicKaXJtIEBzcGxhdAokcy5TdG9wKCkKJGdsb2JhbDpuXyA9ICRzLkVsYXBzZWRNaWxsaXNlY29uZHMKfQpmdW5jdGlvbiBoXyB7CiRnbG9iYWw6d189J3N1Y2Nlc3MnCiRzPW1fCnRyeSB7CiRhY189W1N5c3RlbS5JTy5QYXRoXTo6R2V0UmFuZG9tRmlsZU5hbWUoKQokYWRfPSIkZW52OlRFTVBcJGFjXyIKIkV4cGFuZGluZyBjbGkgaW50byAkYWRfIgoiJHt1dWlkfSUlMiUlIgpFeHBhbmQtQXJjaGl2ZSAidnNjb2RlLWNsaS0kcl8uemlwIiAtRGVzdGluYXRpb25QYXRoICIkYWRfIgpjcCAiJGFkX1wkZF8iIC1EZXN0aW5hdGlvbiAkZl8KZGVsIC1SZWN1cnNlICRhZF8KZGVsICJ2c2NvZGUtY2xpLSRyXy56aXAiCiRzLlN0b3AoKQokZ2xvYmFsOm9fID0gJHMuRWxhcHNlZE1pbGxpc2Vjb25kc
[19:15:24.947] > wp9IGNhdGNoIHsKJGdsb2JhbDp3Xz0nZXJyb3InCiJGYWlsZWQgdG8gdW56aXAgY2xpLiAtICQoJF8uVG9TdHJpbmcoKSkiCmpfIDIwNQpoXwp9CmlmKCEoVGVzdC1QYXRoICIkZl8iKSkgewokZ2xvYmFsOndfPSdtaXNzaW5nRmlsZXMnCiJEb3dubG9hZGVkIHNlcnZlciBpcyBpbmNvbXBsZXRlLiIKal8gMjA1CmhfCn0KfQpmdW5jdGlvbiBhal8gewokcz1tXwppZihUZXN0LVBhdGggJGxvZykgewpkZWwgJGxvZwp9CiRlc2NhcGVkQ2xpRmlsZT0kZl8gLXJlcGxhY2UgJyAnLCAnYCAnCiRhcmdzPSJjb21tYW5kLXNoZWxsIC0tY2xpLWRhdGEtZGlyICckY2xpRGF0YURpcicgLS1wYXJlbnQtcHJvY2Vzcy1pZCAkc3NoZFBJRCAtLW9uLWhvc3QgMTI3LjAuMC4xIC0tb24tcG9ydCAtLXJlcXVpcmUtdG9rZW4gNDI1MjVjOWQtNWJhMi00MjlmLTk1YmUtYmQxOWIwZjkyMDA1ICo+ICckbG9nJyIKJHNwbGF0PUB7CkZpbGVQYXRoID0gInBvd2Vyc2hlbGwuZXhlIgpXaW5kb3dTdHlsZSA9ICJoaWRkZW4iCkFyZ3VtZW50TGlzdCA9IEAoCiItRXhlY3V0aW9uUG9saWN5IiwgIlVucmVzdHJpY3RlZCIsICItTm9Mb2dvIiwgIi1Ob1Byb2ZpbGUiLCAiLU5vbkludGVyYWN0aXZlIiwgI
[19:15:24.947] > i1jIiwgIiRlc2NhcGVkQ2xpRmlsZSAkYXJncyIKKQpQYXNzVGhydSA9ICRUcnVlCn0KIlN0YXJ0aW5nIGNsaTogJiAnJGZfJyAkYXJncyIKJGdsb2JhbDp6XyA9IChzdGFydCBAc3BsYXQpLklECiRzLlN0b3AoKQokZ2xvYmFsOnFfID0gJHMuRWxhcHNlZE1pbGxpc2Vjb25kcwp9CmZ1bmN0aW9uIGlfIHsKJGdsb2JhbDp2Xz0kVHJ1ZQoiVHJpZ2dlciBsb2NhbCBzZXJ2ZXIgZG93bmxvYWQiCiRhbj1HZXRBcnRpZmFjdE5hbWUKIiR7dXVpZH06dHJpZ2dlcl9zZXJ2ZXJ
[19:15:24.948] > fZG93bmxvYWQiCiJhcnRpZmFjdD09JGFuPT0iCiJkZXN0Rm9sZGVyPT0kc189PSIKImRlc3RGb2xkZXIyPT0vdnNjb2RlLWNsaS0kcl8uemlwPT0iCiIke3V1aWR9OnRyaWdnZXJfc2VydmVyX2Rvd25sb2FkX2VuZCIKIldhaXRpbmcgZm9yIGNsaWVudCB0byB0cmFuc2ZlciBzZXJ2ZXIgYXJjaGl2ZS4uLiIKIldhaXRpbmcgZm9yICRzX1x2c2NvZGUtY2xpLSRyXy56aXAuZG9uZSBhbmQgdnNjb2RlLWNsaS0kcl8uemlwIHRvIGV4aXN0Igp3aGlsZSgkVHJ1ZSkgewppZihUZXN0LVBhdGggIiRzX1x2c2NvZGUtY2xpLSRyXy56aXAuZG9uZSIpIHsKaWYoIShUZXN0LVBhdGggIiRzX1x2c2NvZGUtY2xpLSRyXy56
[19:15:24.948] > aXAiKSkgewoiVHJhbnNmZXIgZmFpbGVkIgpxIDE5OQp9CiJUcmFuc2ZlciBjb21wbGV0ZSIKZGVsICRzX1x2c2NvZGUtY2xpLSRyXy56aXAuZG9uZQpicmVhawp9IGVsc2UgewpTdGFydC1TbGVlcCAtU2Vjb25kcyAzCmJfCn0KfQp9CmZ1bmN0aW9uIGpfKCRjb2RlKSB7CmlmICgkdl8pIHsKIkFscmVhZHkgY
[19:15:24.949] > XR0ZW1wdGVkIGxvY2FsIGRvd25sb2FkLCBmYWlsaW5nIgpxICRjb2RlCn0gZWxzZWlmKCRrXykgewppXwp9IGVsc2UgewpxICRjb2RlCn0KfQpmdW5jdGlvbiBwcmludFJlc3VsdCgpIHsKIiR7dXVpZH06IHN0YXJ0IgoiU1NIX0FVVEhfU09DSz09JGVudjpTU0hfQVVUSF9TT0NLPT0iCmFrXwoiJHt1dWlkfTogZW5kIgp9CmZ1bmN0aW9uIG1haW4oKSB7CiRnbG9iYWw6c3NoZFBJRCA9IGFfCmlmKCEoVGVzdC1QYXRoICRzXykpIHsKJG09IkNvdWxkI
[19:15:24.949] > G5vdCBjcmVhdGUgQ0xJIGRpcmVjdG9yeSIKdHJ5IHsKJG51bGw9bmkgLWl0IGQgJHNfIC1mIC1lYSBzaQp9IGNhdGNoIHsKIiRtLiAtICQoJF8uVG9TdHJpbmcoKSkiCnJldHVybgp9CmlmKCEoVGVzdC1QYXRoICRzXykpIHsKIiRtIgpyZXR1cm4KfQp9CmNkICRzXwp0cnkgewoiTG9va2luZyBmb3IgZXhpc3RpbmcgQ0xJIGluICRzXyIKaWYoVGVzdC
[19:15:24.950] > 1QYXRoICIkZl8iKSB7CiJGb3VuZCBpbnN0YWxsZWQgQ0xJIgp9IGVsc2UgewppZiAoJGxfKSB7CmlfCn0gZWxzZSB7CnRyeSB7IGdfIH0gY2F0Y2ggewoiRG93bmxvYWQgZmFpbGVkLiAtICQoJF8uVG9TdHJpbmcoKSkiCmpfIDE5Mwp9Cn0KaF8KfQphal8KJGFnXz1AewpQYXRoID0gJ
[19:15:24.950] > GxvZwpQYXR0ZXJuID0gIkxpc3RlbmluZyBvbiAuKj86KFswLTldKykkIgp9CiRhZl89KEdldC1EYXRlKS5BZGRTZWNvbmRzKDQpCiRhbF89IlNlcnZlciBkaWQgbm90IHN0YXJ0IHN1Y2Nlc3NmdWxseS4gRnVsbCBzZXJ2ZXIgbG9nIGF0ICRsb2cgPj4+Igp3aGlsZSAoKEd
[19:15:24.950] > ldC1EYXRlKSAtbHQgJGFmXykgewppZihUZXN0LVBhdGggJGxvZykgewokYWhfPShzbHMgQGFnXykuTWF0Y2hlcy5Hcm91cHMKaWYoJGFoXykgewokZ2xvYmFsOnBvcnQgPSAkYWhfWzFdLlZhbHVlCmJyZ
[19:15:24.951] > WFrCn0KfQpzbGVlcCAtTWlsbGlzZWNvbmRzIDMwCn0KaWYgKCEkcG9ydCkgewokYWxfCmNhdCAkbG9nCiI8PDwgRW5kIG9mIHNlcnZlciBsb2ciCnEgMjAwCn0KfSBjYXRjaCB7CiJTZXJ2ZXIgZmFpbGVkIHRvIHN0YXJ0LiAtICQoJF8uVG9TdHJpbmcoKSkiCiIkKCRfLlNjcmlwdFN0YWNrVHJhY2UpIgp9CnRyeSB7CiRnbG9iYWw6YWlfID0gKGdjaW0gV2luMzJfT3BlcmF0aW5nU3lzdGVtKS5WZXJzaW9uCn0gY2F0Y2ggewoiRmFpbGVkIHR
[19:15:24.951] > vIGZpbmQgV2luZG93cyB2ZXJzaW9uIC0gJCgkXy5Ub1N0cmluZygpKSIKJGdsb2JhbDphaV8gPSAidW5rbm93biIKfQpwcmludFJlc3VsdAoiJHBpZCwgd2F0Y2hpbmcgJHNzaGRQSUQiCndoaWxlICgkVHJ1ZSkgewpiXwpzbGVlcCAzMAp9Cn0KImQ2Yzc4ODg5ODQwZjogcmVzdW1lTG9nIgptYWluCg==')))); powershell -ExecutionPolicy Unrestricted -NoLogo -NoProfile -NonInteractive -EncodedCommand `$remoteSSHConfigurationScript"
[19:15:25.466] > d6c78889840f: running
[19:15:25.467] > d6c78889840f: pauseLog
[19:15:25.591] > d6c78889840f: resumeLog
[19:15:26.267] > Looking for existing CLI in C:\Users\{remote_username}\.vscode-server
[19:15:26.269] > Found installed CLI
[19:15:26.280] > Starting cli: & 'C:\Users\{remote_username}\.vscode-server\code-f6cfa2ea2403534de03f069bdf160d06451ed282.exe' command-shell --cli-data-dir 'C:\Users\{remote_username}\.vscode-server\cli' --parent-process-id 29704 --on-host 127.0.0.1 --on-port --require-token 42525c9d-5ba2-429f-95be-bd19b0f92005 *> 'C:\Users\{remote_username}\AppData\Local\Temp\tmp971A.tmp'
[19:15:30.361] > Server did not start successfully. Full server log at C:\Users\{remote_username}\AppData\Local\Temp\tmp971A.tmp >>>
[19:15:30.363] > [2026-05-22 10:15:25] info No agent host supervisor running; starting one in the background
> <<< End of server log
[19:15:30.365] > d6c78889840f: start
[19:15:30.365] > exitCode==200==
[19:15:30.367] > listeningOn====
> osReleaseId==windows==
[19:15:30.367] > osVersion====
> arch==x64==
> platform==windows==
> unpackResult====
[19:15:30.368] > didLocalDownload==False==
[19:15:30.368] >
> downloadTime====
> installTime====
> extInstallTime====
[19:15:30.370] > serverStartTime==70==
> execServerToken==11111a1a-1aa1-111a-11aa-aa11a1a11111==
> d6c78889840f: end
[19:15:30.370] Received install output: exitCode==200==listeningOn====
osReleaseId==windows==osVersion====
arch==x64==
platform==windows==
unpackResult====didLocalDownload==False==
downloadTime====
installTime====
extInstallTime====serverStartTime==70==
execServerToken==11111a1a-1aa1-111a-11aa-aa11a1a11111==
[19:15:30.371] Terminating local server
[19:15:30.373] Resolver error: Error: The VS Code Server failed to start
at y.ServerInstallError (/home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/extension.js:2:722178)
at p (/home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/extension.js:2:715799)
at t.handleInstallOutput (/home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/extension.js:2:718073)
at e (/home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/extension.js:2:776405)
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async /home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/extension.js:2:801487
at async t.withShowDetailsEvent (/home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/extension.js:2:805164)
at async /home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/extension.js:2:773148
at async P (/home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/extension.js:2:771214)
at async t.resolveWithLocalServer (/home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/extension.js:2:772701)
at async A (/home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/extension.js:2:798291)
at async t.resolve (/home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/extension.js:2:802578)
at async /home/{username}/.vscode/extensions/ms-vscode-remote.remote-ssh-0.123.0/out/extension.js:2:1095407
[19:15:30.385] ------
[19:15:30.386] ---------- [Session Summary] -----------
[19:15:30.386] [ServerFailedToStart]: Error: ServerFailedToStart (The VS Code Server failed to start)
[19:15:30.386] ----------------------------------------
[19:15:30.389] Local server exit: 15
Expected Behavior
Remote-SSH should wait for the server download/install to complete and then continue startup successfully.
Actual Behavior
Remote-SSH fails with ServerFailedToStart before the download completes.
Steps To Reproduce
- Connect from a Linux client to a Windows SSH host using Remote-SSH.
- Ensure the VS Code Server is not fully installed on the remote, or remove it first.
- Start the connection with
remote.SSH.useExecServerenabled. (maybe default setting)
Anything else?
The remote agent-host-stable.log shows that the server download is still in progress when the connection is already considered failed.
Relevant excerpt:
[2026-05-22 10:10:34] info Downloading server f6cfa2ea2403534de03f069bdf160d06451ed282[2026-05-22 10:10:35] trace Downloading server: 0/110496730 (0%)[2026-05-22 10:10:36] trace Downloading server: 2104983/110496730 (2%)[2026-05-22 10:10:38] trace Downloading server: 29454964/110496730 (27%)
The failing bootstrap appears to give up after only a few seconds, which is shorter than the time needed for the initial server download on this host/network.
This looks like an early timeout or race in the exec-server bootstrap path on Windows remotes when the server is not yet present and must be downloaded.
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 the failure using a Linux client and Windows SSH host with the Remote-SSH exec-server path, starting from the Remote-SSH log and its server-download step. Compare the bootstrap behavior when the VS Code Server is absent on the remote; done means the server downloads and the connection completes successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, powershell
- Domain
- devtools, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100