Vercel still deploys the old repo (or nothing) after moving it to a GitHub organization
You moved your Lovable, Bolt, or Cursor app's repo from your personal GitHub to an organization, and now pushes don't deploy, or Vercel keeps building the old personal repo. How to reconnect it and what the Hobby plan blocks.
What you are seeing
- You transferred the repo to a GitHub organization, pushed new commits, and Vercel shows no new deployment.
- Vercel's project settings still show the old personal repo as the connected repository, or show an error next to it.
- Deployments keep coming from a copy of the repo under your personal account instead of the org repo.
- You get an email or a GitHub check saying Vercel could not deploy a commit from a private repository on your GitHub organization to a team on the Hobby plan.
- The org repo does not appear in Vercel's repository list when you try to connect it.
Why it happens
- Vercel's Git connection points at the repository it was set up with. After a transfer, or if you duplicated the repo instead of transferring it, the project link no longer matches the repo you push to, so new commits do not trigger builds until you reconnect.
- On a Hobby team, Vercel does not deploy from a private repository owned by a GitHub organization. Vercel's docs say to make the repository public or upgrade to Pro. Public org repos are allowed.
- On a Hobby team, the commit author must also be the owner of the Hobby team, so commits pushed by a teammate are blocked even after reconnecting.
- The Vercel GitHub App was installed with access to only selected repositories, or to your personal account only, so it cannot see the org repo.
- You are only an outside collaborator in the organization. Vercel requires you to be an owner of the org, or a member with access to that repository, to connect it.
How to fix it
1. Check what Vercel is connected to
Open the project in the Vercel dashboard, go to Settings, then Git, and look at Connected Git Repository. If it names your personal repo, that is why pushes to the org repo do nothing.
2. Give the Vercel GitHub App access to the org repo
In GitHub, open the organization's Settings, then GitHub Apps (or Installed GitHub Apps), find Vercel, click Configure, and add the repository under Repository access. If Vercel is not installed on the org yet, install it from the import screen with Configure GitHub App.
3. Disconnect and reconnect the repository
Back in the project's Settings, then Git, click Disconnect, then connect the organization's repository. Environment variables, domains, and past deployments stay on the project; only the Git link changes.
4. If you are on Hobby and the org repo is private, pick one
You have three options: upgrade the Vercel team to Pro, which supports private org repos and teammates' commits; move the repo back to your personal GitHub account; or make the repo public, but only after the secrets check in the next step.
5. Check for secrets before making anything public
git log -p | grep -nE "sk_live|sk_test|service_role|SUPABASE_SERVICE|OPENAI_API_KEY|-----BEGIN"
# any hit means rotate that key first; deleting the file
# does not remove it from history
6. Trigger a deploy and watch it
git commit --allow-empty -m "test vercel deploy"
git push origin main
# a new deployment should appear in Vercel within a minute,
# with the org repo and this commit message on it
7. Clean up the old copy
If you duplicated the repo instead of transferring it, archive or delete the old personal copy once deploys come from the org repo, so nobody pushes fixes to the wrong place.
How to know it is fixed
Settings, then Git, shows the organization's repository, the empty commit produced a new deployment that lists that repo and commit, and Production serves the change. If a teammate pushes, their commit also deploys (on Pro) instead of being blocked. Sources: Vercel: Deploying Git repositories (private repos on Hobby teams), Vercel for GitHub (required permissions), Vercel Git settings, Vercel: unable to find your GitHub repository, and GitHub: Transferring a repository.