Description
I use @actions/exec
in my setup-wsl GitHub Actions action to do various tool runs.
One of the tools that is run is wsl
.
To use WSLv2 on windows-2022
currently, you have to do a wsl --update
first.
To use any version of WSLv2 on windows-2025
currently, you have to do a wsl --install --no-distribution
first.
Both of these commands add an addtional wsl.exe
link to C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps
- which is on the PATH
- that was not there before.
If you now use exec()
to run a wsl
command, you always get
Unexpected error attempting to determine if executable file exists 'C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps\wsl.EXE': Error: EACCES: permission denied, stat 'C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps\wsl.EXE'
spamming the build output.
To reproduce, first do a wsl --update
through exec()
, then a wsl --status
through exec()
on a windows-2022
image that does not yet have actions/runner-images#10563 done.