Skip to content

[Bug]: T3 Connect CLI GitHub sign-in returns 500 FUNCTION_INVOCATION_FAILED #11904

Description

@nosliwsirhc

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

Not sure

Steps to reproduce

  1. On a Fedora Linux machine, run:

    npx t3@latest connect
  2. The CLI prints a browser URL and waits for an authorization code to be pasted back into the terminal.

  3. Open the generated URL in Google Chrome.

  4. Choose GitHub as the sign-in method and sign in with a GitHub account.

  5. The browser reaches an accounts.t3.codes/sign-in URL whose redirect points to the /auth-consent flow.

  6. Instead of showing the consent/code page, the hosted page displays a server error.

The complete authorization URL is intentionally omitted because it may contain temporary authentication parameters.

Observed on September 15, 2026, at approximately 10:52 AM Eastern.

Expected behavior

After GitHub authentication, the browser should show the T3 Connect authorization/consent result and provide the code needed by the waiting t3 connect process. The Fedora environment should then be linked to the T3 account.

Actual behavior

The browser displays:

This page is temporarily unavailable
A function needed by this page failed.

500 FUNCTION_INVOCATION_FAILED
yul1::pfh97-1789483902569-f81f3c242689

The authorization flow cannot complete and the CLI remains unable to link the Fedora environment.

This appears to fail on the hosted accounts.t3.codes page before the authorization code is returned, rather than during the desktop application's post-OAuth callback handling.

Impact

Major degradation or frequent failure

T3 Connect cannot be configured through the documented CLI flow. Other remote-access methods may still be available.

Version or commit

Latest version resolved by npx t3@latest connect on September 15, 2026. The exact resolved version was not captured.

Environment

  • CLI host: Fedora Linux
  • Command: npx t3@latest connect
  • Browser: Google Chrome
  • Authentication provider: GitHub
  • Hosted authentication domain: accounts.t3.codes

Logs or stack traces

500 FUNCTION_INVOCATION_FAILED
yul1::pfh97-1789483902569-f81f3c242689

No terminal error was produced before the browser failure; the CLI was waiting for the authorization code.

Screenshots, recordings, or supporting files

A screenshot was captured showing the hosted error page and the invocation ID. The authorization URL was redacted.

Workaround

Desktop-managed SSH or direct Tailscale pairing may bypass T3 Connect account authentication, but neither workaround has been verified as part of this reproduction.

Related issue

#7512 concerned an OAuth flow that reached the desktop callback and then displayed a Not Found route. This report appears different because the hosted accounts.t3.codes page itself returns HTTP 500 before the consent/code step completes.

Activity

  1. juliusmarminge commented on Sep 15, 2026

    @juliusmarminge
    Member

    Triage

    This looks like a real upstream Clerk failure on the hosted Account Portal, not a T3 Code /connect or CLI callback bug.

    npx t3 connect on a local machine prints a https://app.t3.codes/connect#… URL. After GitHub sign-in, the hosted page sends the browser to Clerk’s /oauth/authorize (PKCE, loopback http://127.0.0.1:34338/callback). Clerk then renders Account Portal sign-in and /auth-consent. That consent page is what returned:

    500 FUNCTION_INVOCATION_FAILED
    yul1::pfh97-1789483902569-f81f3c242689
    

    FUNCTION_INVOCATION_FAILED + the yul1:: id is a Cloudflare Worker crash. accounts.t3.codes / /auth-consent is Clerk’s Account Portal, not a route in this repo. The CLI waiting on the authorization code is expected once that page dies.

    This is not a duplicate of:

    npx t3@latest is still 0.0.40 (2026-09-08), so this report is the loopback /connect → /oauth/authorize path, not the device-grant client from #11794 (merged 2026-09-14). Enabling Clerk’s beta Device authorization grant on the CLI OAuth app for that PR is still worth checking — it can affect the same hosted consent page.

    Next step

    @juliusmarminge (or anyone with Clerk dashboard access): look up invocation yul1::pfh97-1789483902569-f81f3c242689, inspect Account Portal /auth-consent logs, and confirm GitHub → consent still works for the CLI OAuth app. Compare Google/email. No T3 application-code change until that result is known.

    Workarounds to try

    • Sign in with Google or email instead of GitHub
    • Desktop-managed SSH or Tailscale pairing (bypasses this Clerk consent step)

    @nosliwsirhc if you can add npx t3 --version (or the version npx t3@latest printed) and whether a retry or a non-GitHub method gets past /auth-consent, that will help confirm whether this is still failing.

  2. nosliwsirhc commented on Sep 15, 2026

    @nosliwsirhc
    Author

    "t3 v0.0.40" is the version on the workstation. Interestingly, when I tried to use another provider by starting the process again, the browser picked up the previous Github login credentials and allowed me to complete the process - so I'm in. However, here is a screenshot of the error I originally encountered.

    Image
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

    bugSomething is broken or behaving incorrectly.needs-juliusupstreamvia-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