wslrelay.exe
Also called wslrelay, wsl relay, wsl localhost relay
WSL localhost and stdio relay. It forwards ports and some console streams between Windows and a distro. It is not the hypervisor and not WslService.
What you need to know
wslrelay is the port/stdio relay, not the hypervisor.
wslrelay.exe forwards localhost ports and some stdio between Windows and WSL. vmcompute.exe and the utility VM are the compute side. wslhost.exe handles broader interop. Ending a relay can drop a forwarded web server, not Hyper-V itself.
- Safe?
- Yes, during WSL networking or pipes
- Is it Hyper-V?
- No. It is a port/stdio relay
- Same as wslhost?
- No. wslhost is interop I/O
What is wslrelay.exe?
wslrelay is the port/stdio relay, not the hypervisor. It is not vmms.exe and it is not vmcompute.exe. Those run compute. This image only bridges localhost and some streams.
What does it do?
It maps a Linux listen onto Windows localhost and can carry stdio for a launched process. It does not manage VMs and it does not list distributions.
Why is it running?
A distro published a port, a tool used localhost forwarding, or WSL needed a stdio bridge. No forwarded sockets often means this relay should be idle or gone.
Why are there multiple copies?
Several wslrelay.exe copies can be several port or stdio bridges. That is not several Hyper-V management services.
Is it safe?
Usually safe
A Microsoft wslrelay in the WSL package is the localhost/stdio bridge. A wslrelay.exe in Temp is not. This is still not Hyper-V vmms.
A legitimate copy normally runs from:
C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_*\wslrelay.exe
- Expected publisher: Microsoft Corporation
- Job is port and stdio relay
- Not vmcompute.exe and not vmms.exe
Can I end it?
That forwarded port drops
Ending wslrelay.exe can break localhost access to that Linux listener. The utility VM can stay up. Stopping vmms.exe is a different, Hyper-V story.
Can I remove it?
No
Do not delete wslrelay.exe. Stop the Linux process that published the port, or run wsl --shutdown. Do not disable Hyper-V to remove this relay.
Should it start with Windows?
A forward or stdio bridge starts it. It is not Startup Apps.
Normal resource behavior
These are contextual labels, not universal averages.
- CPU
- Follows traffic on the bridged port
- Memory
- Small
- Disk
- Low
- Network
- Localhost and mirrored/NAT WSL traffic
File information
| Executable name | wslrelay.exe |
|---|---|
| Common legitimate path | C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_*\wslrelay.exe |
| Publisher | Microsoft Corporation |
| Signature expectation | Signed by Microsoft Windows |
Common problems
Browser cannot hit localhost:3000 after an optimizer killed the relay
Restart the Linux server or the distro. The app is still in the VM. vmms was never this bridge.
Confused with wslhost file hangs
\\wsl.localhost file I/O is wslhost. A dead localhost port is this relay.
Troubleshooting
Diagnose before you change anything destructive.
Confirm the Linux process is still listening
Inside the distro, check the port. If it listens there but Windows localhost fails, the relay is the Windows side. Hyper-V Manager will not show this socket.
wsl --shutdown, then start the app again
That rebuilds relays. Do not replace vmcompute.exe to "fix localhost."
Technical details
Technical details
| Image name | wslrelay.exe |
|---|---|
| Role | WSL localhost and stdio relay |
Sources and verification
Reviewed by Feex editorial. Last verified August 2026 Status: Feex Reviewed. How we research.
- Microsoft Learn: WSL networking · localhost and port forwarding between Windows and WSL
- Microsoft Learn: WSL architecture · Networking helpers are not the CLI
- Foxhole process map · First-party samples on Windows PCs. Not a lab benchmark.
Was this article useful?
A yes or no is enough. Pick a reason if you want, or add a short note.
Thanks. That helps us improve this page.