Windows ARM64 Nightly updates omit Linux ARM64 WSL backend binaries
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Summary
On a Windows ARM64 laptop, every T3 Code Nightly update currently loses the Linux ARM64 native modules required by the WSL backend. The WSL backend then fails to start until the native modules are rebuilt and copied into the packaged backend.
Environment
- Host: Windows 11 on ARM64 hardware
- WSL: WSL2,
Ubuntu-26.04LTS,aarch64 - T3 Code: Nightly builds observed:
0.0.34-nightly.20260823.1170,0.0.35-nightly.20260826.1195,0.0.36-nightly.20260827.1207,0.0.37-nightly.20260829.1218,0.0.38-nightly.20260901.1250,0.0.39-nightly.20260903.1273 - Node in WSL: Node 24 LTS via mise
Actual behavior
After an update, Settings > Connections reports:
WSL backend couldn't start: WSL node-pty unavailable: WSL support is missing from this T3 Code build: the packaged Linux node-pty binary was not included.
The backend does not start even though WSL itself is healthy and the distro can launch normally.
Reproduction
- Use T3 Code Nightly on Windows ARM64.
- Enable the WSL backend and select an ARM64 WSL2 distro.
- Update T3 Code Nightly.
- Reopen T3 Code and enable/select the same distro.
- The WSL backend fails because the packaged backend has no
node-pty/prebuilds/linux-arm64/pty.node. - Repeat after each subsequent update. The failure recurs.
Workaround currently required
For each update, I have to stop T3 Code, rebuild node-pty for Linux ARM64 inside WSL, and copy the resulting pty.node plus ARM64 ffi-rs and fff packages into both:
- the extracted WSL server tree under
%USERPROFILE%\\.t3\\userdata\\wsl-server-tree\\<version> resources\\server.asar.unpacked\\node_modulesin the installed T3 Code directory
The workaround succeeds consistently. The repaired binary is 81,112 bytes and the backend starts normally afterward.
Suspected cause
The Windows artifact appears to be missing Linux ARM64 WSL prebuilds. The release workflow currently describes a Linux x64 WSL node-pty build, but Windows ARM64 requires a Linux ARM64 binary because the WSL backend runs under the distro's Linux Node, not the Windows host Node. The same architecture handling may also be needed for the Linux ARM64 ffi-rs and fff packages.
Expected behavior
The Windows ARM64 artifact should either:
- ship Linux ARM64 WSL prebuilds and matching ARM64 native dependencies, or
- detect the WSL architecture during first launch and perform a supported, automatic native build with a clear progress/error path.
A release/update should not silently replace a working WSL backend with an artifact that cannot start on the same machine.
Additional notes
The current error message points at a missing packaged binary, so this is not a distro-selection, WSL-service, or project-path issue. A release CI check that launches the packaged WSL backend on aarch64 would catch this before publishing ARM64 Windows builds.
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.
Research direction
Start by inspecting the release workflow's Linux x64 WSL node-pty build and the packaging paths under resources\server.asar.unpacked\node_modules and the extracted WSL server tree. Compare the required Linux ARM64 node-pty, ffi-rs, and fff artifacts with what the Windows ARM64 build includes. Done means the packaged WSL backend starts after an update, with an aarch64 CI check catching missing binaries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, node.js, typescript
- Domain
- backend, build-system, ci-cd, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100