Repository navigation
[Feature]: Support multiple connection routes with automatic fallback and manual pinning #10940
Description
Activity
Triage
This is a real enhancement, not a duplicate of #5233, and it is not already in the product.
#5233 did not ship
#5233 was converted to Ideas discussion #6860 on 2026-08-15. GitHub records that as
completed. There is no linked PR and no comments. #6860 is still open with no replies.mainstill stores one endpoint per environment:BearerConnectionProfileis a singlehttpBaseUrl/wsBaseUrlpair (packages/client-runtime/src/connection/catalog.ts)- The catalog is keyed by
environmentId;register()replaces the existing entry (registry.ts) - Pairing derives
connectionIdasbearer:${environmentId}and overwrites (onboarding.ts) EnvironmentSupervisorretries that one target with backoff capped at 16s; it does not walk candidates (supervisor.ts)- Advertised endpoints are pairing-time hints only (
docs/internals/remote.md)
So the single-endpoint pain described here is still accurate.
Related work (none implements this issue)
- [Feature]: Ordered fallback endpoints for a saved environment (e.g. LAN primary, Tailscale secondary) #6860 — converted [Feature]: Ordered fallback endpoints for a saved environment (e.g. LAN primary, Tailscale secondary) #5233; same LAN + Tailscale request, no T3 Connect pin, no comments
- feat(connection): support multiple routes per environment #7921 — closed unmerged. Desktop-only persist + manual route pick (relay/SSH). No automatic fallback; mobile UI out of scope. Closed as too large, not merged
- feat: T3 Connect environments switch to local connections automatically #5463 (open) — T3 Connect may promote to advertised LAN/Tailscale and fall back to relay. That is not a user-managed route list, has no pin, and does not cover FRP/LAN as saved alternatives
- fix(desktop): separate LAN and Tailscale pairing endpoints #9882 (merged), fix(desktop,web): advertise all usable network interfaces as selectable endpoints #5165, feat(desktop): choose the network interface used for LAN pairing URLs #10838 — pairing advertisement / interface choice, not saved multi-route reconnect
Scope
One environment, many labeled routes (LAN, Tailscale, FRP, T3 Connect), automatic ordered fallback (last success first; no fallback on auth/permission/identity errors; confirm
environmentId), plus a pin that never silently switches. Needs catalog migration, supervisor candidate walk, and Settings UI on web, desktop, and mobile.Next step
Keep this issue open as the tracking request. Product should choose among: the full catalog described here, landing #5463 first (T3 Connect users only), or leaving it on the Ideas track. Do not close this as a duplicate of #5233.
- addedenhancementRequested improvement or new capability.Requested improvement or new capability.via-triageFiled through npx t3 triageFiled through npx t3 triage
on Sep 9, 2026 I just hit this same issue, t3 connect is fantastic but my two computers are on the same LAN hard wired and round tripping via the internet seems crazy to me.
Before submitting
Area
packages/client-runtimeconnection handling, with settings UI support on web, desktop, and mobile.Problem
I use the same T3 Code computer from different networks:
A saved environment currently supports only one connection endpoint. Pairing the same computer through another URL replaces the existing connection because the catalog is keyed by
environmentId.As a result, I have to edit the saved URL manually whenever my network changes.
This is closely related to #5233, but the desired behavior also includes T3 Connect / Relay and a manual route lock.
Proposed behavior
Allow one logical environment to store multiple connection routes, for example:
Home LANTailscaleFRPT3 Connect RelayThe environment must remain a single environment with one
environmentId. Routes are alternative transports for that environment, not separate environments.The client should provide two modes:
Automatic mode
environmentIdbefore using it.Manual mode
Route management
On web, desktop, and mobile, users should be able to:
Relay authentication and its existing Cloudflare Tunnel data path should remain unchanged. Relay should be another selectable route for the same environment.
Acceptance criteria