You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Windows nightly: GitHub sign-in (T3 Connect) stalls on GitHub's "You are being redirected" page and never returns to the app #15574
GitHub redirects back through Clerk to t3code://app/, T3 Code is focused, and the user is signed in.
Actual
The browser stops on GitHub's page:
You are being redirected to the authorized application.
If your browser does not redirect you back, please visit this setup page to continue.
It never hands off to T3 Code and the app stays signed out. Repeated attempts behave the same way.
Diagnostics
The protocol handler is registered correctly: HKCU\Software\Classes\t3code\shell\open\command → "…\Programs\t3code\T3 Code (Nightly).exe" "%1".
desktop.trace.ndjson has only desktop.clerk.configure / bootstrapRemoteBearerSession (all Success) and no spans for the OAuth attempt or a callback, so the deep link never seems to reach the app.
Thanks a lot for the detailed report, @Reflexoptics01, especially the registry and trace notes. I checked this against main (eac52f00). It looks like two separate problems are showing up together here.
What I found
The session not surviving a restart looks like #15001. Packaged Windows builds use %APPDATA%\t3code-v2. On first launch, if that profile has no Local State, it copies T3 Code (Alpha)\Local State when that file exists, and only then falls back to t3code:
Clerk writes clerk-tokens.json encrypted with that profile's safeStorage key, and treats tokens it can't decrypt as signed out. #15001 already reports that 0.0.46-nightly.20261004.2644 still seeds the Alpha key, so a redirect fix alone wouldn't make an already-seeded profile keep its session.
The stall on GitHub's page seems to be a different issue. That screen is GitHub's own interstitial while it tries to send the browser to the redirect target, and nothing in T3 Code runs until Windows actually launches t3code://. The trace doesn't show either way whether that happened: desktop.clerk.configure only means the listeners were registered, bootstrapRemoteBearerSession is the local environment token exchange, and Clerk's OAuth callback is handled inside @clerk/electron without creating a T3 span.
On this build the desktop bridge asks Clerk for t3code://app/:
@clerk/electron 0.0.44 accepts a callback only when protocol, host, and pathname all match exactly, so t3code://app without the trailing slash would not match. On Windows the callback starts a second process, which forwards its arguments to the running app through the single-instance lock and quits. The registry entry being present doesn't confirm the browser invoked it; Edge and Chrome often won't follow a custom-scheme hop from GitHub's automatic refresh, which is where the "setup page" link comes in.
If you have a moment, these would help narrow it down (with the nightly running):
Click "this setup page". Does Windows ask to open T3 Code (Nightly), and does the running window come forward?
In a terminal, run start "" "t3code://app/". Does the running window come forward?
Right-click that setup link, copy it, and share only the scheme, host, and path (delete everything from ? onward, since the query carries the authorization code).
Likely fix area
If step 2 focuses the app but GitHub's link doesn't, the callback URL not exactly matching t3code://app/ would be the first thing to look at, in apps/desktop/src/app/DesktopClerk.ts and how @clerk/electron matches it.
If step 2 doesn't focus the app, the protocol registration or second-instance handoff on Windows ARM64 would be the place to look.
Thanks for the triage! Results on 0.0.46-nightly.20261004.2644, Windows 11 ARM64, with the nightly running:
1. Clicking "this setup page": Windows did not prompt to open T3 Code (Nightly), the app window did not come forward, and sign-in did not complete.
2. start "" "t3code://app/": The protocol handler itself works. HKCU\Software\Classes\t3code\shell\open\command is "C:\Users\<user>\AppData\Local\Programs\t3code\T3 Code (Nightly).exe" "%1". Launching the URL spawns a second instance that exits after ~0.3s, so the single-instance handoff fires. The existing window did not come to the foreground when another app had focus, though that may just be Windows' foreground-lock rules.
3. Setup link (query stripped):https://clerk.t3.codes/v1/oauth_callback
So the setup link goes to Clerk's FAPI OAuth callback, not directly to t3code://. Since a manual t3code://app/ launch reaches the running app but the GitHub flow never does, it looks like the flow breaks somewhere between GitHub → clerk.t3.codes/v1/oauth_callback → t3code://app/, i.e. either the browser never follows through to Clerk's callback, or Clerk's redirect afterwards never hands off to the t3code:// scheme (or doesn't match t3code://app/ exactly).
We’re also experiencing T3 Connect GitHub sign-in getting stuck on Windows 11 x64 with T3 Code Nightly 0.0.46-nightly.20261007.2774.
After completing GitHub authorization in the browser, the desktop app remains stuck loading and still shows “Sign in to T3 Connect.” We tried twice and restarted the app, but sign-in still did not complete.
The t3code:// protocol handler is registered and points to T3 Code (Nightly).exe. This happened after switching from stable 0.0.45 to nightly.
Activity
juliusmarminge commentedon Oct 4, 2026
Note
Grok responding on behalf of Julius.
Triage
Thanks a lot for the detailed report, @Reflexoptics01, especially the registry and trace notes. I checked this against
main(eac52f00). It looks like two separate problems are showing up together here.What I found
The session not surviving a restart looks like #15001. Packaged Windows builds use
%APPDATA%\t3code-v2. On first launch, if that profile has noLocal State, it copiesT3 Code (Alpha)\Local Statewhen that file exists, and only then falls back tot3code:t3code/apps/desktop/src/app/DesktopUserData.ts
Lines 59 to 66 in eac52f0
Clerk writes
clerk-tokens.jsonencrypted with that profile'ssafeStoragekey, and treats tokens it can't decrypt as signed out. #15001 already reports that0.0.46-nightly.20261004.2644still seeds the Alpha key, so a redirect fix alone wouldn't make an already-seeded profile keep its session.The stall on GitHub's page seems to be a different issue. That screen is GitHub's own interstitial while it tries to send the browser to the redirect target, and nothing in T3 Code runs until Windows actually launches
t3code://. The trace doesn't show either way whether that happened:desktop.clerk.configureonly means the listeners were registered,bootstrapRemoteBearerSessionis the local environment token exchange, and Clerk's OAuth callback is handled inside@clerk/electronwithout creating a T3 span.On this build the desktop bridge asks Clerk for
t3code://app/:t3code/apps/desktop/src/app/DesktopClerk.ts
Lines 80 to 88 in eac52f0
@clerk/electron0.0.44 accepts a callback only when protocol, host, and pathname all match exactly, sot3code://appwithout the trailing slash would not match. On Windows the callback starts a second process, which forwards its arguments to the running app through the single-instance lock and quits. The registry entry being present doesn't confirm the browser invoked it; Edge and Chrome often won't follow a custom-scheme hop from GitHub's automatic refresh, which is where the "setup page" link comes in.If you have a moment, these would help narrow it down (with the nightly running):
start "" "t3code://app/". Does the running window come forward??onward, since the query carries the authorization code).Likely fix area
t3code://app/would be the first thing to look at, inapps/desktop/src/app/DesktopClerk.tsand how@clerk/electronmatches it.A maintainer will decide on the fix direction.
Reflexoptics01 commentedon Oct 4, 2026
Thanks for the triage! Results on
0.0.46-nightly.20261004.2644, Windows 11 ARM64, with the nightly running:1. Clicking "this setup page": Windows did not prompt to open T3 Code (Nightly), the app window did not come forward, and sign-in did not complete.
2.
start "" "t3code://app/": The protocol handler itself works.HKCU\Software\Classes\t3code\shell\open\commandis"C:\Users\<user>\AppData\Local\Programs\t3code\T3 Code (Nightly).exe" "%1". Launching the URL spawns a second instance that exits after ~0.3s, so the single-instance handoff fires. The existing window did not come to the foreground when another app had focus, though that may just be Windows' foreground-lock rules.3. Setup link (query stripped):
https://clerk.t3.codes/v1/oauth_callbackSo the setup link goes to Clerk's FAPI OAuth callback, not directly to
t3code://. Since a manualt3code://app/launch reaches the running app but the GitHub flow never does, it looks like the flow breaks somewhere between GitHub →clerk.t3.codes/v1/oauth_callback→t3code://app/, i.e. either the browser never follows through to Clerk's callback, or Clerk's redirect afterwards never hands off to thet3code://scheme (or doesn't matcht3code://app/exactly).rustanacexd commentedon Oct 7, 2026
We’re also experiencing T3 Connect GitHub sign-in getting stuck on Windows 11 x64 with T3 Code Nightly
0.0.46-nightly.20261007.2774.After completing GitHub authorization in the browser, the desktop app remains stuck loading and still shows “Sign in to T3 Connect.” We tried twice and restarted the app, but sign-in still did not complete.
The
t3code://protocol handler is registered and points toT3 Code (Nightly).exe. This happened after switching from stable0.0.45to nightly.