Skip to content

Support remote process listing on Windows #8622

@georgreen

Description

@georgreen

Type: Bug

Issue Description

Attaching debugger to remote process on remote windows fails to connect because listing process fails. The command expects the remote machine to have bash installed.

'sh' is not recognized as an internal or external command

Steps to Reproduce

Add config for setting up connection to remote Windows machine

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Core Attach (Remote Windows)",
            "type": "coreclr",
            "request": "attach",
            "processId": "${command:pickRemoteProcess}",
            "pipeTransport": {
                "pipeProgram": "ssh",
                "pipeArgs": [
                    "user@IP"
                ],
                "debuggerPath": "/usr/bin/dotnet",
                "pipeCwd": "${workspaceFolder}",
                "quoteArgs": true
            },
            "windows": {
                "pipeTransport": {
                    "pipeProgram": "C:\\Windows\\System32\\OpenSSH\\ssh.exe",
                    "pipeArgs": [
                        "user@IP"
                    ],
                    "debuggerPath": "C:\\Program Files\\dotnet\\dotnet.exe",
                    "pipeCwd": "${workspaceFolder}",
                    "quoteArgs": true
                }
            },
            "justMyCode": false
        }
    ]
}

Expected Behavior

View list of process running on remote machine

Actual Behavior

Fails with this error:

Executing: ssh user@ip "sh -s" < "c:\Users\<user-name>\.vscode\extensions\ms-dotnettools.csharp-2.90.60-win32-x64\scripts\remoteProcessPickerScript"
stderr: 'sh' is not recognized as an internal or external command,
operable program or batch file.

Extension version: 2.90.60
VS Code version: Code 1.104.0 (f220831ea2d946c0dcb0f3eaa480eb435a2c1260, 2025-09-10T06:46:18.035Z)
OS version: Windows_NT x64 10.0.26100
Modes:

Logs

C# log

2025-09-11 23:50:39.299 [info] Locating .NET runtime version 9.0.1
2025-09-11 23:50:41.035 [info] Dotnet path: C:\Program Files\dotnet\dotnet.exe
2025-09-11 23:50:41.035 [info] Activating C# + C# Dev Kit...
2025-09-11 23:50:42.061 [info] [stdout] info: Program[0]
      Server started with process ID 12240

2025-09-11 23:50:46.342 [info] [stdout] {"pipeName":"\\\\.\\pipe\\8cb87b59"}

2025-09-11 23:50:46.342 [info] received named pipe information from server
2025-09-11 23:50:46.343 [info] client has connected to server
2025-09-11 23:50:47.288 [info] [Info  - 11:50:47 PM] [Program] Language server initialized

C# LSP Trace Logs log


Environment Information

VSCode version: 1.104.0
C# Extension: 2.90.60
Using OmniSharp: false

Dotnet Information .NET SDK: Version: 9.0.304 Commit: f12f5f689e Workload version: 9.0.300-manifests.610a1858 MSBuild version: 17.14.16+5d8159c5f

Runtime Environment:
OS Name: Windows
OS Version: 10.0.26100
OS Platform: Windows
RID: win-x64
Base Path: C:\Program Files\dotnet\sdk\9.0.304\

.NET workloads installed:
[aspire]
Installation Source: VS 17.14.36414.22
Manifest Version: 8.2.2/8.0.100
Manifest Path: C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.aspire\8.2.2\WorkloadManifest.json
Install Type: Msi

[wasm-tools-net6]
Installation Source: VS 17.14.36414.22
Manifest Version: 9.0.8/9.0.100
Manifest Path: C:\Program Files\dotnet\sdk-manifests\9.0.100\microsoft.net.workload.mono.toolchain.net6\9.0.8\WorkloadManifest.json
Install Type: Msi

[wasm-tools-net7]
Installation Source: VS 17.14.36414.22
Manifest Version: 9.0.8/9.0.100
Manifest Path: C:\Program Files\dotnet\sdk-manifests\9.0.100\microsoft.net.workload.mono.toolchain.net7\9.0.8\WorkloadManifest.json
Install Type: Msi

[wasm-tools-net8]
Installation Source: VS 17.14.36414.22
Manifest Version: 9.0.8/9.0.100
Manifest Path: C:\Program Files\dotnet\sdk-manifests\9.0.100\microsoft.net.workload.mono.toolchain.net8\9.0.8\WorkloadManifest.json
Install Type: Msi

[wasm-tools]
Installation Source: VS 17.14.36414.22
Manifest Version: 9.0.8/9.0.100
Manifest Path: C:\Program Files\dotnet\sdk-manifests\9.0.100\microsoft.net.workload.mono.toolchain.current\9.0.8\WorkloadManifest.json
Install Type: Msi

Configured to use loose manifests when installing new manifests.

Host:
Version: 9.0.8
Architecture: x64
Commit: aae90fa090

.NET SDKs installed:
8.0.411 [C:\Program Files\dotnet\sdk]
9.0.304 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
Microsoft.AspNetCore.App 8.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 8.0.19 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 9.0.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.19 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 9.0.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 8.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 8.0.19 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 8.0.20 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 9.0.8 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
x86 [C:\Program Files (x86)\dotnet]
registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
Not set

global.json file:
Not found

Learn more:
https://aka.ms/dotnet/info

Download .NET:
https://aka.ms/dotnet/download

Visual Studio Code Extensions
Extension Author Version Folder Name
azurerm-vscode-tools msazurermtools 0.15.15 msazurermtools.azurerm-vscode-tools-0.15.15
better-comments aaron-bond 3.0.2 aaron-bond.better-comments-3.0.2
copilot GitHub 1.368.0 github.copilot-1.368.0
copilot-chat GitHub 0.31.0 github.copilot-chat-0.31.0
cpptools ms-vscode 1.26.5 ms-vscode.cpptools-1.26.5-win32-x64
csdevkit ms-dotnettools 1.50.51 ms-dotnettools.csdevkit-1.50.51-win32-x64
csharp ms-dotnettools 2.90.60 ms-dotnettools.csharp-2.90.60-win32-x64
dotnet-test-explorer formulahendry 0.7.8 formulahendry.dotnet-test-explorer-0.7.8
ginfuru-better-solarized-dark-theme ginfuru 0.10.9 ginfuru.ginfuru-better-solarized-dark-theme-0.10.9
gitlens eamodio 17.4.1 eamodio.gitlens-17.4.1
html-preview-vscode george-alisson 0.2.5 george-alisson.html-preview-vscode-0.2.5
intellicode-api-usage-examples VisualStudioExptTeam 0.2.9 visualstudioexptteam.intellicode-api-usage-examples-0.2.9
material-icon-theme PKief 5.27.0 pkief.material-icon-theme-5.27.0
msbuild-project-tools tintoy 0.6.7 tintoy.msbuild-project-tools-0.6.7
powershell ms-vscode 2025.2.0 ms-vscode.powershell-2025.2.0
remote-explorer ms-vscode 0.5.0 ms-vscode.remote-explorer-0.5.0
remote-ssh ms-vscode-remote 0.120.0 ms-vscode-remote.remote-ssh-0.120.0
remote-ssh-edit ms-vscode-remote 0.87.0 ms-vscode-remote.remote-ssh-edit-0.87.0
rest-client humao 0.25.1 humao.rest-client-0.25.1
vscode-bicep ms-azuretools 0.37.4 ms-azuretools.vscode-bicep-0.37.4
vscode-coverage-gutters ryanluker 2.14.0 ryanluker.vscode-coverage-gutters-2.14.0
vscode-dotnet-runtime ms-dotnettools 2.3.7 ms-dotnettools.vscode-dotnet-runtime-2.3.7
vscode-nupkg eridem 1.0.1 eridem.vscode-nupkg-1.0.1
vscodeintellicode VisualStudioExptTeam 1.3.2 visualstudioexptteam.vscodeintellicode-1.3.2
C# Settings
Setting Value
preferCSharpExtension false
compilerDiagnosticScope openFiles
analyzerDiagnosticScope openFiles
enableXamlTools true
useServerGC true
System Info
Item Value
CPUs AMD EPYC 7763 64-Core Processor (16 x 2445)
GPU Status 2d_canvas: unavailable_software
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: disabled_software
multiple_raster_threads: enabled_on
opengl: disabled_off
rasterization: disabled_software
raw_draw: disabled_off_ok
skia_graphite: disabled_off
trees_in_viz: disabled_off
video_decode: disabled_software
video_encode: disabled_software
vulkan: disabled_off
webgl: unavailable_software
webgl2: unavailable_software
webgpu: unavailable_software
webnn: unavailable_software
Load (avg) undefined
Memory (System) 63.95GB (48.06GB free)
Process Argv . --crash-reporter-id 3bcbf69d-0306-4595-a469-60aa5925e2ac
Screen Reader no
VM 0%
A/B Experiments
vsliv368:30146709
binariesv615:30325510
nativeloc1:31344060
dwcopilot:31170013
dwoutputs:31242946
copilot_t_ci:31333650
e5gg6876:31282496
996jf627:31283433
pythonrdcb7:31342333
usemplatestapi:31297334
aj953862:31281341
nesew2to5:31336538
agentclaude:31350858
nes-set-on:31351930
6abeh943:31336334
0927b901:31350571
ovsp_t:31383296
0cj2b977:31352657
0574c672:31362109
cloudbuttont:31379625
retryenabled:31370050
todos-1:31378731
3efgi100_wstrepl:31382709
trigger-command-fix:31379601

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions