microsoft / microsoft/vscode-remote-release
WSL - sshfs-mounted directories appear empty in VS Code Explorer
@aeschli is already working on this.
Since Jan 18, 2026.
- Dominant language
- Dockerfile
- Stars
- 4.2k
- Forks
- 469
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 1
Description
Type: Bug
Description:
When connecting to WSL using the WSL extension and opening a directory that contains an sshfs mount, VS Code’s Explorer shows the directory as empty, even though files and subdirectories are visible from the WSL terminal.
Expected behavior:
Files and directories inside an sshfs-mounted path should be visible and accessible in VS Code Explorer, the same way they are when listed from the WSL terminal.
Actual behavior:
VS Code Explorer shows no files or folders in the mounted directory.
The same path shows correct contents when listed in the WSL terminal (ls).
Comparison with Remote - SSH:
If I connect to the same WSL instance using VS Code’s Remote - SSH extension (connecting to WSL over SSH) and open the same path, the files and directories inside the sshfs mount are visible and work as expected.
Mount command used:
sshfs -o allow_other,reconnect,uid=$(id -u),gid=$(id -g) someuser@example-host.com:/ /mnt/example
Steps to reproduce:
1)Inside WSL, mount a remote filesystem using sshfs:
sshfs -o allow_other,reconnect,uid=$(id -u),gid=$(id -g) someuser@example-host.com:/ /mnt/example
2)Verify in the WSL terminal that /mnt/example contains files and directories.
3)Open VS Code and connect using WSL extension.
4)Open /mnt/example in VS Code Explorer.
5)Observe that the directory appears empty.
6)Connect to the same WSL instance using Remote - SSH instead and open /mnt/example.
7)Observe that files and directories are visible in this case.
Environment:
OS (runs VS Code): Windows 11 25H2 build 26200.7623
VS Code: 1.108.1
WSL extension: 0.104.3
Remote - SSH extension: 0.122.0
WSL distro version: WSL2 Ubuntu 24.04 (Linux rhsCZ-wsl 6.6.87.2-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Thu Jun 5 18:30:46 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux)
WSL version:
Version WSL: 2.6.3.0
Version kernel: 6.6.87.2-1
Version WSLg: 1.0.71
Version MSRDC: 1.2.6353
Version Direct3D: 1.611.1-81528511
Version DXCore: 10.0.26100.1-240331-1435.ge-release
Filesystem: sshfs (FUSE)
Notes:
This suggests a difference in how WSL extension and Remote - SSH extension handle FUSE/sshfs-mounted filesystems, even when both ultimately access the same WSL environment.
Extension version: 0.104.3
VS Code version: Code 1.108.1 (585eba7c0c34fd6b30faac7c62a42050bfbc0086, 2026-01-14T14:55:44.241Z)
OS version: Windows_NT x64 10.0.26200
Modes:
Remote OS version: Linux x64 6.6.87.2-microsoft-standard-WSL2
System Info
| Item | Value |
|---|---|
| CPUs | AMD Ryzen 7 9700X 8-Core Processor (16 x 3800) |
| GPU Status | 2d_canvas: enabled 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 webgl2: enabled webgpu: enabled webnn: disabled_off |
| Load (avg) | undefined |
| Memory (System) | 47.16GB (25.45GB free) |
| Process Argv | --crash-reporter-id 91e18c2e-6c46-49bd-897e-2f7c94bf1dbf |
| Screen Reader | no |
| VM | 31% |
| Item | Value |
|---|---|
| Remote | SSH: wsl |
| OS | Linux x64 6.6.87.2-microsoft-standard-WSL2 |
| CPUs | AMD Ryzen 7 9700X 8-Core Processor (4 x 0) |
| Memory (System) | 3.83GB (1.11GB free) |
| VM | 0% |
A/B Experiments
vsliv368:30146709
binariesv615:30325510
nativeloc1:31344060
dwcopilot:31170013
dwoutputs:31242946
copilot_t_ci:31333650
e5gg6876:31282496
pythonrdcb7:31342333
6518g693:31436602
aj953862:31281341
6abeh943:31336334
editstats-enabled:31346257
cloudbuttont:31379625
3efgi100_wstrepl:31403338
use-responses-api:31390855
6j29d282:31407606
ec5jj548:31422691
cmp-ext-treat:31426748
cp_cls_t_966_ss:31446430
c0683394:31419495
ge8j1254_inline_auto_hint_haiku:31427726
nes-autoexp-10:31446583
a5gib710:31434435
38bie571_auto:31426784
rename_enabled:31436409
7a04d226_do_not_restore_last_panel_session:31438103
anthropic_thinking_t:31432745
g4jhe704_grok:31446852
cp_cls_c_1081:31443829
copilot-nes-callisto-trt:31434412
statuswidget:31442215
nes-slash-models-on:31441832
nes-set-to-on:31441941
a43f0575b:31442825
ts_provider_enabled:31446104
nes-conv-1-3:31447850
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.
Assessment
This issue has not been assessed yet.