[BUG] Desktop SSH (Mac → Windows): shell mis-detected as 'posix' after update, breaks 'server --install' on PowerShell default shell
Preflight
- Searched existing issues — #53206 is related but a different failure mode (Mac→Linux, downloaded binary lacks
--install). This report is Mac→Windows where--installexists but is never executed because of a regressed shell-detection. - Using latest Desktop.
What's wrong
After upgrading Claude Desktop (Mac), connecting via SSH Remote to a Windows host that uses PowerShell as the OpenSSH default shell now fails with:
Connection failed: server --install produced no result (stderr: ParserError:
Line | 1 | … /8de85faaa11694321e937499a18c7ab88f37c76c/server.exe' '--install' '--cli- …
| ~~~~~~~~~~~
| Unexpected token ''--install'' in expression or statement.
)
The new claude-ssh binary (8de85faaa11694321e937499a18c7ab88f37c76c) does support --install — the problem is the launch line is POSIX-quoted ('path' '--install' '--cli-…'), and PowerShell can't evaluate a quoted string as an invocation (needs & 'path' …), so server.exe never runs and there is no __INSTALL_RESULT__ on stdout.
Root cause (from ~/Library/Logs/Claude/ssh.log)
The Desktop's remote-host probe used to detect PowerShell on Windows; after the update it mis-classifies the same host as posix. Same machine, same OpenSSH config (DefaultShell not set → defaults to PowerShell), same cctgy account, only Desktop changed.
Before update (working, 2026-05-13/14):
[BinaryDeployment] Remote: home=C:/Users/cctgy, platform=windows-amd64, shell=powershell, binVer=claude-ssh 869762545054f8caf5b0e36192651744a2461d3b (built 2026-04-28T23:59:27Z)
[BinaryDeployment] Server binary up to date, skipping upload ← success
After update (broken, 2026-05-25):
[BinaryDeployment] Remote: home=C:/Users/cctgy, platform=windows-amd64, shell=posix, binVer=8de85faaa11694321e937499a18c7ab88f37c76c
[BinaryDeployment] Server binary up to date (8de85faaa11694321e937499a18c7ab88f37c76c), skipping upload
[RemoteServerController] Connection failed (3579ms): server --install produced no result (stderr: ParserError: Unexpected token '--install' …)
Note shell= changed from powershell → posix for the same host.
What should happen
When the remote OpenSSH default shell is PowerShell, the Desktop should either:
- Detect it correctly (as the previous version did) and emit
& 'path\\server.exe' '--install' …, or - Send a shell-agnostic invocation (e.g. via
cmd /cor by always wrapping with&).
Steps to reproduce
- Windows host with OpenSSH Server, default
DefaultShell(PowerShell). - Mac Claude Desktop 1.8555.2.
- Add the host in Desktop SSH Remote, connect, submit any prompt.
- Fails as above.
Workaround
On the Windows host, switch OpenSSH default shell to cmd.exe (admin PowerShell):
New-ItemProperty -Path "HKLM:\\SOFTWARE\\OpenSSH" -Name DefaultShell `
-Value "C:\\Windows\\System32\\cmd.exe" -PropertyType String -Force
After this Desktop re-detects shell=posix-compatible behavior (cmd handles the quoted form) and the install completes.
Environment
- Claude Desktop (Mac): 1.8555.2
claude-sshbinary deployed by Desktop:8de85faaa11694321e937499a18c7ab88f37c76c- Previous working
claude-ssh:869762545054f8caf5b0e36192651744a2461d3b(built 2026-04-28) - Remote: Windows 11, OpenSSH Server, default shell = PowerShell
- Remote user:
cctgy - Other remotes (Linux,
shell=posix) on the same Desktop continue to work fine — regression is Windows-specific.
Related
- #53206 — same surface error string but different failure mode (binary downloaded for Linux lacks
--installflag entirely).
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗