Repository navigation
WSL remote: a maintained open-source extension (n2ns.wsl-remote) — whitelist request, and an offer to take over the role of open-remote-wsl #3074
Description
Context
- Make the WSL remote extension work in VS Codium #1265 (open since 2022) tracks WSL remote development in VSCodium. In that thread @daiyam wrote: "The best would be to have an open-source equivalent of that extension."
- Today VSCodium points users at
jeanp413.open-remote-wsl:docs/extensions-compatibility.mdlists it under Remote Development,dev/update_api.shadds it toextensionEnabledApiProposals, andpatches/windows/00-remote-use-open-ext.patchmakescodiuminside WSL default to it (VSCODE_WSL_EXTENSION_ID). - That extension looks unmaintained. As of 2026-10-18 its last commit and last merge date from 2025-04-06 (v0.0.5); three pull requests are open without a reply (Rename macOS app to VSCodium.app #11 from 2024-10 about broken/raced server downloads, Better oss icon #25 from 2026-04 adding the
codium-from-WSL scripts, Add Windows build configuration (#8) #29 from 2026-09 fixing shell injection in the setup script), and 19 issues are open, among them Rename app to VSCodium #12 (download race), Undo telemetry before build #27 (localhostForwarding=false), Latest Release Missing OSX #3 (Alpine) and Setup RPM/Deb packages repositories #5 (codiumfrom inside WSL).
What we did
We wrote a new extension from scratch rather than patching a 31 KB bundle: WSL Remote, id n2ns.wsl-remote, MIT, TypeScript with tests and CI. Repository: https://github.com/n2ns/wsl-remote (Open VSX publication under the n2ns namespace follows once the id question below is settled, so early users do not have to reinstall).
Feature parity with open-remote-wsl (same commands, Remote Explorer view with recent folders, status bar entries, label formatter, download URL setting), plus the points its open issues and PRs ask for:
server-env-setuphook:~/.vscodium-server/server-env-setupis sourced before the server starts, exactly like Microsoft's~/.vscode-server/server-env-setup. open-remote-wsl starts the server from a non-loginbash -cand sources nothing, so there was no way to put a variable into the remote extension host's environment on VSCodium.- No shell interpolation:
wsl.exeis always spawned with an argument array; everything the Linux-side script needs arrives through environment variables (WSLENV); distribution names are validated (Add Windows build configuration (#8) #29 / Remove "VS" from name? #28 there). - Safe server installation:
mkdirlock across windows, published.sha256verified,tar -tzfcheck, extraction into a temporary directory and atomic move, corrupt downloads removed with a clear message (Rename macOS app to VSCodium.app #11, Rename app to VSCodium #12, If vscode folder exists, fetch updates not invoke clone #19 there). - Server start:
--start-serverwith a connection token file; the launcher runs in its own process group and the whole group is stopped when the window closes (open-remote-wsl'skillof the launcher alone leavesnode server-main.jsand the pty host behind); the usual<data dir>/.<commit>.pidis still written for tools that rely on it. localhostForwarding=false/ NAT without forwarding: falls back to the distribution address with a local port relay (Undo telemetry before build #27 there).codium <dir>from inside WSL:scripts/wslCode.shimplements the launcher contract your Windows patch already expects, soVSCODE_WSL_EXTENSION_ID=n2ns.wsl-remote codium .works today (Setup RPM/Deb packages repositories #5, PR Better oss icon #25 there).- Alpine: detected,
libstdc++checked,vscodium-reh-alpine-*downloaded (Latest Release Missing OSX #3 there; not yet tested on a real Alpine install). - Proposed API without a product.json entry: when
resolversis not enabled for the id, the extension offers to add itself toenable-proposed-apiinargv.json(JSONC edit, backup kept, restart prompt). A whitelist entry removes that extra step; it is not a prerequisite. - CI runs
scripts/server-setup.shagainst the latest VSCodium release every week (download, verify, start, stop), so a changed REH layout or URL shows up before users hit it.
Verified so far on Windows 11 / WSL 2.6.3 (mirrored networking) / Ubuntu 26.04 / VSCodium 1.135.06055 with real workloads (plan-swap, Codex, Claude Code extensions in the remote host). Not yet covered: Alpine and NixOS on real installs, Windows 10.
What we are asking
- Add
n2ns.wsl-remotetoextensionEnabledApiProposalsindev/update_api.sh, with the same proposals asjeanp413.open-remote-wsl:["resolvers", "contribRemoteHelp", "contribViewsRemote"]. - Once it is on Open VSX, list it in
docs/extensions-compatibility.mdnext to (or instead of) Open Remote - WSL. - If you would prefer the extension to live under the VSCodium organization, we are open to transferring the repository and the Open VSX namespace; we would keep maintaining it either way.
Happy to answer questions here or in the repository. cc @daiyam
Activity
bugstan commentedon Oct 18, 2026
Update: the extension is now on Open VSX, so early users do not need to wait on the id question.
codium --install-extension n2ns.wsl-remote), version 0.0.1, namespace verified.The id stays
n2ns.wsl-remoteunless you would rather have it under the VSCodium organization; in that case we would publish the next version under the new id and deprecate this one on Open VSX. Requests 1–3 above are unchanged.