Note
Grok responding on behalf of Julius.
Thanks for the clear write-up. The behavior itself is intentional, but the copy is wrong, so I'm accepting this as a UX/copy bug.
- Detection skip is on purpose.
getAdvertisedEndpointsinapps/desktop/src/backend/DesktopServerExposure.tsreturns only core endpoints whenmode !== "network-accessible" && !tailscaleServeEnabled, so the Tailscale CLI is never spawned without opt-in. That's the fix from #2745 (for #2254 / #2737) to avoid the macOS "Other apps" TCC prompt with the Mac App Store Tailscale build. We're not reverting that. - The row misreports it.
renderTailscaleRowinapps/web/src/components/settings/ConnectionsSettings.tsxtreats "no Tailscale endpoint" as "Tailscale isn't running" and shows "Start Tailscale to set up HTTPS access through MagicDNS." with no switch. With Network access off, Tailscale was never checked, so that text is misleading.
Fix scope: when detection was skipped, the row should say why (e.g. "Turn on Network access to detect Tailscale") and/or offer an explicit on-demand "Check for Tailscale" action. That keeps the no-prompt-by-default guarantee. Detection without Network access is otherwise unchanged.
Workaround for now: turn on Network access, enable Tailscale HTTPS, then turn Network access back off if you only want tailnet access (Serve keeps resolving once tailscaleServeEnabled is true).
Unrelated to #15919, which is a PATH issue with Network access on.