PR https://git.cafe/pingdotgg/t3code/pulls/18172 head c13462a879a4043e0015bf2f2752fdd2c6565085 baseline github/main 4914cdd98f Real SSH host: separate deviceverify account, sshd on 127.0.0.1:2222. No mocked binaries. Node 24.22.1 and npm 11.19.1 on SSH PATH; ~/.local/bin/node points to the real system Node 20.20.2. $ ssh -i /tmp/deviceverify-key -p 2222 deviceverify@127.0.0.1 'node -v; npm -v' v24.22.1 11.19.1 Baseline: git worktree add ../main github/main; vp i; background vp run dev. Web Settings > Devices > Add host > Test connection: 1 of 1 failed Nested error: SshCommandError: Node 22 or newer is required on the device host. PR: exact head checkout; vp i; background vp run dev --home-dir /home/user/t3code/.t3. Web Settings > Devices > Add host > Test connection with identical inputs: Connection checks passed Connected iOS unavailable Android available Saved the host using Save host. Enabled Device hub and Agent device access. Created project /home/user/ssh-verify-repo through Add project > Local folder. Submitted a real Codex gpt-6.1-sol turn in a new thread through the web composer. Executed pwd and git status --short: correct directory, clean working tree. Invoked device_list through the provider's T3 MCP tools. Actual response for ssh runtime verification: status: ready hubInstalled: true hub requiredVersion/runningVersion: 0.19.0-canary-20261023-1357114 agentDeviceInstalled: false devices: [] androidDiscoveryIncomplete: true Detail: avdmanager list avd failed; emulator -list-avds exited 127. Remote installation .install-complete exists; remote hub.log says Expo Device Hub ready. Neighboring behavior through Settings: 127.0.0.1 on default SSH port: Already available locally. Same SSH host on closed port 2223: 1 of 1 failed. Corrected port to 2222 and retested: Connection checks passed, Connected. Blacksmith command: vp i && vp test run apps/server/src/device/SshDeviceHost.test.ts apps/server/src/device/sshDeviceScript.test.ts Result: 2 files passed, 8 tests passed. The Windows-specific tests here use controlled subprocess fixtures on Linux; they do not establish native Windows/PowerShell behavior. Not verified: live Windows PowerShell SSH and npm.cmd behavior; macOS/iOS; native mobile/desktop clients; actual device control, agent-device daemon startup, CR/NUL/no-trailing-newline delivery through a real device, interruption/reconnect lifecycle. No device is available on this VM; no simulator was started. No source changed.