fix(install.ps1): probe WSL2 networking before delegating to bootstrap (closes #1006)#1010
Merged
Merged
Conversation
When WSL2 has lost external network reachability (vEthernet / HNS corruption is common on Win10/11 after sleep cycles, driver updates, or system patches), the curl inside `bootstrap.sh | bash` takes 30+ seconds to time out with a cryptic error — and the user has no signal that the issue is environmental, not continuum-related. Caught live 2026-05-02 by continuum-b69f during Carl-OOTB Windows testing (issue #1006). After PR #1005 fixed the WSL detection bug, install.ps1 delegated into bootstrap.sh successfully — and the WSL- side curl just hung. The user has no way to tell whether the install is broken or their box's WSL is broken. Fix: 5s curl probe to raw.githubusercontent.com from inside WSL BEFORE the delegate. If it fails, surface explicit Windows-side remediation: 1. wsl --shutdown 2. (as admin) Restart-Service hns -Force 3. Reboot Windows 4. Edit %USERPROFILE%\.wslconfig — networkingMode=NAT + Re-run command Pattern: same family as install.sh's friendly-failure phase traps (#977 work) — fail loudly and tell the user exactly what to try NEXT, instead of dying silent or with a 30s mystery timeout. ## Tests - Edit-only PowerShell change, no shape change to delegate path when probe passes. - Linux/Mac CI not affected (probe block is inside install.ps1). - Live validation pending b69f's box (currently the WSL2 NAT is broken on their box per #1006 — perfect natural test case for the new probe message). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a 5s
curlprobe from inside WSL2 toraw.githubusercontent.comBEFORE delegating tobootstrap.sh. When WSL2 networking is broken (vEthernet / HNS corruption is common on Win10/11 after sleep cycles or driver updates), the curl inside the bootstrap step takes 30+ seconds to time out with a cryptic error — and the user has zero signal that the issue is environmental, not continuum-related.Caught live 2026-05-02 by continuum-b69f during Carl-OOTB Windows testing (issue #1006). After PR #1005 fixed the WSL detection, install.ps1 delegated into bootstrap successfully — and the WSL-side curl just hung. The user has no way to distinguish "install is broken" from "my box's WSL is broken."
Fix
5s probe upfront. On failure, surface explicit remediation:
wsl --shutdown(forces VM restart, often heals NAT)Restart-Service hns -Force(reset Host Networking Service)%USERPROFILE%\.wslconfig→[wsl2]networkingMode=NATSame pattern as install.sh's friendly-failure phase traps (#977 family): fail loudly + tell the user exactly what to try next, instead of dying silent or with a 30s mystery timeout.
Test plan
Closes
Related
🤖 Generated with Claude Code