microsoft / microsoft/vscode-remote-release

WSL - sshfs-mounted directories appear empty in VS Code Explorer

Open
#11,436 1 comment 0 reactions 1 assignee View on GitHub

@aeschli is already working on this.

Since Jan 18, 2026.

wsl
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

Image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.