(this issue is brought to you by gpt-6-astra-medium)
Area
apps/server (remote editor discovery), apps/web (editor menu)
Steps to reproduce
- Run a T3 server on a Linux host with Tailscale SSH enabled and no conventional SSH listener on localhost port 22.
- Connect to that environment from another machine through a URL connection, without a desktop SSH connection profile supplying an explicit SSH alias.
- Confirm that
ssh <tailnet-host> works from the viewing machine.
- Open the project's “Open in editor” menu.
Expected behavior
Offer remote editor links using the working Tailscale SSH destination. A localhost SSH listener should not be required when Tailscale handles SSH connections.
Actual behavior
The menu displays “No SSH route to ” and disables opening the project in an editor, despite successful SSH access from the viewing machine.
Verified diagnostics
Read-only checks from a macOS viewing machine against the affected Linux environment confirmed:
- A noninteractive SSH login succeeds.
tailscale status --json reports BackendState: Running and a valid MagicDNS name.
tailscale debug prefs reports RunSSH: true.
- TCP connections to both
127.0.0.1:22 and [::1]:22 on the remote host fail with connection refused.
ss -ltn 'sport = :22' reports no listener.
Cause
RemoteOpenTargets.ts probes localhost port 22 and immediately returns an empty target list if neither loopback family accepts a connection. This happens before Tailscale discovery. The assumption that no local sshd means no SSH destination can work is invalid for Tailscale SSH.
remoteOpen.ts then maps an empty advertised target list, without an explicit SSH profile alias, to remote-unavailable.
Discovery should recognize enabled Tailscale SSH independently of a localhost SSH listener. Tailscale connectivity alone should not be assumed to imply SSH availability.
Impact
Remote opening in an editor is blocked for this valid Tailscale SSH configuration.
Version or commit
Investigated source: d29c56a. The affected installed server version was not captured.
Related issues
Related discovery/gating symptoms: #7530 and #8278. This report specifically concerns Tailscale SSH with no localhost SSH listener.
(this issue is brought to you by gpt-6-astra-medium)
Area
apps/server (remote editor discovery), apps/web (editor menu)
Steps to reproduce
ssh <tailnet-host>works from the viewing machine.Expected behavior
Offer remote editor links using the working Tailscale SSH destination. A localhost SSH listener should not be required when Tailscale handles SSH connections.
Actual behavior
The menu displays “No SSH route to ” and disables opening the project in an editor, despite successful SSH access from the viewing machine.
Verified diagnostics
Read-only checks from a macOS viewing machine against the affected Linux environment confirmed:
tailscale status --jsonreportsBackendState: Runningand a valid MagicDNS name.tailscale debug prefsreportsRunSSH: true.127.0.0.1:22and[::1]:22on the remote host fail with connection refused.ss -ltn 'sport = :22'reports no listener.Cause
RemoteOpenTargets.ts probes localhost port 22 and immediately returns an empty target list if neither loopback family accepts a connection. This happens before Tailscale discovery. The assumption that no local sshd means no SSH destination can work is invalid for Tailscale SSH.
remoteOpen.ts then maps an empty advertised target list, without an explicit SSH profile alias, to
remote-unavailable.Discovery should recognize enabled Tailscale SSH independently of a localhost SSH listener. Tailscale connectivity alone should not be assumed to imply SSH availability.
Impact
Remote opening in an editor is blocked for this valid Tailscale SSH configuration.
Version or commit
Investigated source: d29c56a. The affected installed server version was not captured.
Related issues
Related discovery/gating symptoms: #7530 and #8278. This report specifically concerns Tailscale SSH with no localhost SSH listener.