Skip to content

Desktop keeps a reinstalled Mac's old T3 Connect identity as a "not linked" environment that never clears #28213

Open

Description

@0x7067

What happened

After reinstalling T3 Code on a Mac, Settings > Environments showed a second environment with the same name as the Mac. It used the T3 Connect route and showed the red error " is not linked to your T3 Connect account" (attempt 2). Removing it from the T3 Connect account did not clear the card. It went away only after … > Remove from this device.

Diagnosis

  • The reinstall gave the Mac a new environment id (7b48…). Its T3 Connect link is healthy: "T3 Connect is reachable from other devices. Tunnel connected · 4 connections · QUIC".
  • The account still listed the pre-reinstall identity (60d0…) under the same label, with its own managed relay endpoint. Its link is gone, so the relay answers environment_link_not_found. The client maps that to not_linked (packages/client-runtime/src/connection/errors.ts:86), and the headline comes from connection/diagnosis.ts:92.
  • The client lets the user add that stale identity as a RelayConnectionTarget on the same machine whose live identity it replaced (components/cloud/CloudEnvironmentConnectList.tsx:106). Nothing marks it as a superseded copy of the local host.
  • After the stale identity was deregistered on the account, discovery stopped listing it, but the saved local registration stayed. The supervisor no longer retries after not_linked, so the card stayed red with no hint that only a local removal was left. The "not linked" steps ("sign in to the same account", "turn T3 Connect on") don't apply here.

Expected: identities that were superseded or deregistered for the same host should be flagged as stale, or removed from the account automatically. The client shouldn't offer to connect to an old identity of the local machine. Once the account stops listing a saved relay environment, the card should say it was removed from T3 Connect and offer to remove it locally.

Steps to reproduce

  1. Link a Mac to T3 Connect from the desktop app.
  2. Reinstall T3 Code on that Mac. It gets a new environment id, which is then linked.
  3. The old identity still appears in the T3 Connect environment list under the same machine name. Add it to this device (logs suggest this happened via Connect in that list; the exact click was not confirmed).
  4. Its card shows " is not linked to your T3 Connect account".
  5. Deregister the old identity in T3 Connect account settings. The card stays red until Remove from this device is used.

Version

0.1.6, desktop app "T3 Code (Beta)", with the local server version confirmed through /.well-known/t3/environment. main was 6 commits ahead of v0.1.6, and none of them touched Connect. The triage CLI was also 0.1.6.

Environment

macOS (Darwin 27.2.0) arm64, Node v26.12.1. Desktop app connecting to its local server; T3 Connect enabled.

Evidence

17:32:17 RelayEnvironmentDiscovery.refreshStatus WARN "Relay environment health check reported offline" {environmentId: 60d0…}
17:33:20 ConnectionRegistrationStore.remove      # removed locally
17:33:33 ConnectionRegistrationStore.register    # re-added while the account still listed it
17:35:48 ConnectReachability.check "Tunnel connected · 4 connections · QUIC"   # live identity 7b48…
~17:35   old identity deregistered; discovery then probes only 7b48…
17:43:33 EnvironmentRpc.request {60d0…} EnvironmentRpcUnavailableError "<host> is not connected."
17:44:19 ConnectionRegistrationStore.remove      # Remove from this device: cleared for good

Related issues

Fix applied or workaround

Deregister the old identity in T3 Connect account settings, then use … > Remove from this device on the red card. Nothing was changed on the machine during triage.

Filed by

Claude Code (claude-opus-5-5) via npx t3 triage.

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

    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