You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Retire the WSL2 path for persistent PTY live legs on Windows #537
From the v2.1.x pin on (#532), upstream's opencode-pty daemon (@opencode-ai/pty 0.3.1) ships a win32 binary, and the server enables persistent PTYs on Windows. #532's CI proved it: the persistent PTY live round trip and SubmitAsync pass on Windows on net10.0, net11.0 and net472 through the daemon-present arm, and the test gate now expects the daemon on every platform.
The WSL2 path existed only because there was no win32 daemon, so it is now a workaround without a reason:
docs/engineering/developing-on-windows.md, "Live legs that need a Linux-hosted server": its premise, "no win32 package exists at the pinned upstream commit", is false at the pin. The WSL2 clone recipe, the node_modules clobbering warning tied to it, and the "exact-pin discipline" paragraph exist for that leg.
tests/OpenCode.Sdk.Sandbox/README.md, "Live legs against a server on another host": it names the WSL2 persistent PTY leg as "the standing case" because "the opencode-pty daemon ships no win32 package".
What stays
The fixture's external-endpoint mode (OPENCODE_SDK_TESTS_ENDPOINT / OPENCODE_SDK_TESTS_PASSWORD). It is general: it runs the suite against any server hosted elsewhere, so only its WSL2-specific wording changes.
OPENCODE_SDK_TESTS_PTY_DAEMON=0|1. It still selects either arm, for example for a host whose server cannot start the daemon.
Done when
Neither document presents WSL2 as needed for persistent PTY live legs on Windows. The developing-on-windows section either goes, or keeps only what still holds on its own (for example, "Driving WSL from a Windows shell", if other legs use it).
No other document or comment says the daemon ships no win32 package. Checked with a repository search for win32 and WSL2 near "persistent" and "daemon".
The fixture's remarks keep describing external-endpoint mode without implying that WSL2 is required.
Moved to milestone 1.1 by the second 1.0 triage (2026-10-26, maintainer-approved): it is internal, additive, tooling or test structure, so it does not block 1.0.0. The issue stays as it is.
Activity
Blind-Striker commentedon Oct 26, 2026
Moved to milestone 1.1 by the second 1.0 triage (2026-10-26, maintainer-approved): it is internal, additive, tooling or test structure, so it does not block 1.0.0. The issue stays as it is.