claude-code - 💡(How to fix) Fix SSH password prompt no longer appears in latest Desktop app version [2 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#48998Fetched 2026-04-17 08:53:39
View on GitHub
Comments
2
Participants
3
Timeline
6
Reactions
1
Author
Timeline (top)
labeled ×4commented ×2

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.

Error Message

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: [email protected]
[info] LocalSessions.testSSHConnection: [email protected]
[info] LocalSessions.testSSHConnection: [email protected]

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.

Root Cause

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.

Fix Action

Fix / Workaround

  • 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 the ssh binary. Workaround: create ~/.zshenv with a minimal PATH.
  • Workaround for the password issue: use ssh-copy-id to 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)

Code Example

[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

---

debug1: read_passphrase: can't open /dev/tty: Device not configured
RAW_BUFFERClick to expand / collapse

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

  1. Configure a remote SSH connection in Claude Code Desktop to a server that uses password authentication (no key-based auth)
  2. Click "Connect" or "Try again"
  3. Expected: a password input dialog appears
  4. 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: [email protected]
[info] LocalSessions.testSSHConnection: [email protected]
[info] LocalSessions.testSSHConnection: [email protected]

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 the ssh binary. Workaround: create ~/.zshenv with a minimal PATH.
  • Workaround for the password issue: use ssh-copy-id to 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:

  1. Restore the password input dialog that existed in previous versions, OR
  2. Clearly inform the user that password authentication is not supported and key-based auth is required

extent analysis

TL;DR

The most likely fix is to restore the password input dialog or implement an alternative authentication method, as the current SSH process runs in non-interactive mode without a TTY, preventing password prompts.

Guidance

  • Investigate why the password input dialog is no longer appearing and consider restoring it to allow users to enter their credentials.
  • As a workaround, users can set up key-based authentication using ssh-copy-id to bypass the password prompt issue.
  • Review the SSH verbose log to understand the underlying issue and consider implementing an alternative authentication method that doesn't rely on interactive password prompts.
  • Verify that the Shell environment extraction failed error is not contributing to the issue and apply the suggested workaround of creating a ~/.zshenv file with a minimal PATH if necessary.

Example

No code snippet is provided as the issue is more related to the application's behavior and configuration rather than a specific code error.

Notes

The provided logs and context suggest that the issue is specific to the macOS version of the application and the use of Tailscale connections, but it may also affect other SSH targets requiring password authentication.

Recommendation

Apply the workaround of using ssh-copy-id to set up key-based authentication, as this provides a reliable alternative to password prompts and avoids the regression in behavior.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING