Skip to content

[Bug]: Open in editor reports no SSH route when using Tailscale SSH without a localhost listener #11052

Description

@jahands

(this issue is brought to you by gpt-6-astra-medium)

Area

apps/server (remote editor discovery), apps/web (editor menu)

Steps to reproduce

  1. Run a T3 server on a Linux host with Tailscale SSH enabled and no conventional SSH listener on localhost port 22.
  2. Connect to that environment from another machine through a URL connection, without a desktop SSH connection profile supplying an explicit SSH alias.
  3. Confirm that ssh <tailnet-host> works from the viewing machine.
  4. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedfeature request acceptedbugSomething is broken or behaving incorrectly.via-triageFiled through npx t3 triage

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions