GitHub reconnect broken after revoke: OAuth callback never returns to cursor.sh (org-level installation)

Where does the bug appear (feature/product)?

Background Agent (GitHub, Slack, Web, Linear)

Describe the Bug

After revoking the Cursor GitHub App from my account and attempting to reconnect, the GitHub OAuth flow completes on GitHub’s side but cursor.sh never registers the connection. The app installation exists on GitHub (installation ID: 123636530, org: abxapps) and repos can be added/configured, but cursor.sh shows no connected GitHub account and the callback never completes.

Steps to Reproduce

  1. Revoke Cursor’s GitHub App access from GitHub Settings > Applications
  2. Return to cursor.sh and trigger GitHub reconnect
  3. Complete the GitHub App installation flow, select org (abxapps), select repos
  4. GitHub confirms installation and shows repos as authorized
  5. Browser remains on GitHub, no redirect back to cursor.sh occurs
  6. cursor.sh shows GitHub as still disconnected

Also attempted:

  • Starting a fresh install via Sign in to GitHub · GitHub
  • Reconnecting from both cursor.sh in browser and Cursor mobile app
  • Verified Cursor does NOT appear in GitHub Authorized GitHub Apps after the flow
  • Verified the GitHub App installation does exist at the org level (abxapps)

Expected Behavior

After completing the GitHub App installation flow, cursor.sh should receive the OAuth callback, register the connection, and display the authorized GitHub account and repos.

Operating System

MacOS

Version Information

This is a cusor.sh issue.

Does this stop you from using Cursor

Yes - Cursor is unusable

Hey Mike. This is a known bug on our side. After you revoke the GitHub App install, that part completes in GitHub, but the OAuth user-level authorization that creates the entry in Authorized GitHub Apps fails silently. Our DB then keeps a stale token from the previous connection, so cursor.sh and GitHub disagree about what they think is active. We’re tracking it, but I can’t share an exact ETA yet.

Here are a few workarounds to try:

  • On Sign in to GitHub · GitHub and Sign in to GitHub · GitHub, make sure there are no Cursor entries left, neither an authorized app nor an installation. Remove them if you see any.
  • Fully log out of cursor.sh, then clear cookies for cursor.sh and github.com.
  • Open cursor.sh in an incognito/private window and go through the flow again from scratch.

If cursor.sh still doesn’t pick up the connection after that, it’s likely there’s stale state in our DB that needs a manual cleanup. Let me know what you see after trying the steps, and I’ll escalate to the engineers so they can reset your GitHub connection. After that, a reinstall should work cleanly.

Thanks Dean, that explanation makes sense given what I was seeing.

I went through both pages and confirmed there are no Cursor entries remaining under either Authorized GitHub Apps or Installed GitHub Apps. Logged out of cursor.sh, cleared cookies for both cursor.sh and github.com, and tried the full flow again in an incognito window. cursor.sh still shows GitHub as disconnected after completing the install.

Looks like it’s the stale DB state. Happy to have the engineers reset my GitHub connection if that’s the next step. Let me know what you need from me.

Hi there. Still experiencing issues. I don’t know if they reset something on my account, but I was able to add on one more repo. However then I went to add a third, it seemed like it worked in GitHub, but the 3rd repo isn’t showing up in Cursor. Any thoughts? I hope I don’t need to reach out here every time I have to add a new repo.

Your GitHub connection has been restored and is working again.

For the third repo not appearing, could you try the following:

  1. Go to Sign in to GitHub · GitHub , click Configure next to the Cursor app, and confirm the third repo is selected under repository access

  2. Then go to your Cursor dashboard, disconnect GitHub, and reconnect

  3. After reconnecting, check if all three repos appear

If it still doesn’t show up, let me know which repo it is and I’ll take a look from our end.

thanks. working now