SSH password prompt no longer appears in latest Desktop app version
Description
In previous versions of Claude Code Desktop, when connecting to a remote SSH server that requires password authentication, the app would display a password input dialog allowing the user to enter their credentials.
In the latest version, this password prompt no longer appears. The app silently fails to connect, repeatedly running testSSHConnection without ever progressing to an actual connection.
Steps to Reproduce
- Configure a remote SSH connection in Claude Code Desktop to a server that uses password authentication (no key-based auth)
- Click "Connect" or "Try again"
- Expected: a password input dialog appears
- Actual: nothing happens, connection silently fails
Logs
Desktop app log (~/Library/Logs/Claude/main.log):
[warn] [CCD] Shell environment extraction failed, using process.env: Error: Shell environment extraction timed out
[info] LocalSessions.testSSHConnection: host=andy@100.122.221.64
[info] LocalSessions.testSSHConnection: host=andy@100.122.221.64
[info] LocalSessions.testSSHConnection: host=andy@100.122.221.64
The app keeps calling testSSHConnection in a loop but never proceeds further.
SSH verbose log shows the underlying issue:
debug1: read_passphrase: can't open /dev/tty: Device not configured
The SSH process is running in non-interactive mode with no TTY, so it cannot prompt for a password — unlike previous versions which provided a GUI password dialog.
Additional Context
- Also observed:
Shell environment extraction failed, using process.env: Error: Shell environment extraction timed out— this may be a separate issue where slow shell init (e.g. conda) causes the environment extraction to time out, preventing the app from finding thesshbinary. Workaround: create~/.zshenvwith a minimal PATH. - Workaround for the password issue: use
ssh-copy-idto set up key-based authentication. But this is a regression from previous behavior. - OS: macOS
- Connection: Tailscale (but also reproducible with other SSH targets requiring password auth)
Expected Behavior
The app should either:
- Restore the password input dialog that existed in previous versions, OR
- Clearly inform the user that password authentication is not supported and key-based auth is required
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗