Repository navigation
[Bug]: SSH relay fails to start on Windows remote: no named-pipe --sock-path passed #24671
Description
Activity
I read the client code on current
main(4e46969) for this. The desktop client does not launch the Windows relay without--sock-path. On awin32remote it always passes a named pipe:src/main/ssh/ssh-relay-endpoints.tsrelayEndpointForHost()returns\\.\pipe\orca-relay-<20 hex>for Windows hosts.src/main/ssh/ssh-relay-windows-launch-command.tspasses it as--sock-pathto the detached relay, andwindowsRelayConnectCommand()inssh-relay-deploy.tspasses the same pipe torelay.js --connect.
So the
EACCES ... relay.sockerror comes from runningnode relay.jsby hand with no flags. It is probably not what the app hits.A more likely cause of the silent fall back to Disconnected: Win32-OpenSSH puts the session shell in a job with KILL_ON_JOB_CLOSE, so a relay started inside the session dies when the deploy session closes. The old fallback (WMI
Win32_Process.Create) is refused to a standard user's network logon, and an account namedorca-agentsounds like a standard user. #24224 (merged 2026-10-01) fixes this: the relay now starts outside sshd's job through a breakaway launcher, and a refusal is reported by name instead of failing silently. That commit is not inv1.4.218(git merge-base --is-ancestor 6d1a97ef98 v1.4.218is false), so it should ship in the next release.If it still fails on a build that contains #24224,
relay.logandrelay.err.login the relay directory on the Windows host, plus the[ssh-relay]lines in Orca's main log, would show which step fails.This is from reading the code only. I have no Windows SSH host to reproduce it on.
Written by an AI agent (Claude Code) contributing on behalf of @BeamNawapat.
Thanks for the report. Orca already passes a named pipe as --sock-path when it starts the relay on a Windows host, so the EACCES only happens when relay.js runs by hand without flags. The silent fall back to Disconnected was most likely the relay being killed with the SSH session for a standard user, which #24224 fixed (shipped in 1.4.220). Since then SSH hosts, Windows included, run a managed Orca server by default (#24863), and the relay is only a fallback. If a current build still can't connect to your Windows Server host, please reopen and attach relay.log / relay.err.log from the host plus the [ssh-relay] lines from Orca's main log.
Operating system
macOS
Orca version
1.4.218
Details
Client: Orca on macOS (Apple Silicon). Remote: Windows Server 2025, Win32-OpenSSH (DefaultShell cmd.exe and powershell.exe both tested), Node v24.19.0, relay 0.1.0+c2e66c2e79d0.
Relay installs fine (.install-complete present), but the connection silently falls back to Disconnected. Running the relay manually reproduces it:
node relay.js → listen EACCES: permission denied C:\Users\orca-agent\relay.sock
because without --sock-path the relay defaults to join(process.cwd(), "relay.sock"), which Node on Windows cannot listen on.
With a named pipe it works:
node relay.js --sock-path "\.\pipe\orca-relay-test" → Socket server listening: \.\pipe\orca-relay-test / ORCA-RELAY v0.1.0 READY.
Expected: on win32 remotes the client should pass a \.\pipe... sock path (or the relay should default to one on win32).