Vercel Deployment Error: 'Deployment request did not have a git author with access to the project on Vercel'

Are you encountering the error 'Deployment request did not have a git author with access to the project on Vercel' when using Vercel + GitHub for automatic deployments? This article will walk you through the triggers, root causes, and solutions for this issue, using practical examples, official documentation, and community insights.

Vercel deployment failedGithub CI/CD errorgit author with accessVercel Hobby plan limitationsVercel multiple account conflictVercel CLI deploymentgit commit authorDeployment request did not have a git authorVercel GitHub automatic deployment

The Problem

As usual, you write code locally, push it to GitHub, and open the corresponding website domain in your browser, ready to verify if the new feature is working. However, you don't see the expected changes. Did the build fail? You open the Vercel console and check the Deployments list, only to find no new deployment tasks have been generated. So you switch back to GitHub, and on the project's homepage, you notice a small red 'X' โŒ next to your Commits from a few minutes ago.

Clicking on the Commits history reveals that recent commit builds have all failed, except for one successful build.

Clicking the red 'X' โŒ to view the specific information, you see the message: Vercel - No GitHub account was found matching the commit author email address.

Clicking Detail redirects you to GitHub's help documentation, which instructs you to set your commit email address.

You can use the git config command to change the email address you associate with your Git commits.
The new email address you set will be visible in any future commits you push to GitHub from the command line.
Any commits you made prior to changing your commit email address are still associated with your previous email address.

At this point, you might feel confused. You then try a manual deployment on the Vercel website. When you enter the corresponding git repository address and click deploy, it prompts: A commit author is required.

The Cause

If your situation matches the description above, you need to confirm the following:

  1. Are you a Hobby Plan user?
  2. Do you have multiple (at least two) Vercel accounts?
  3. Is each Vercel account linked to the same GitHub account?

If all of the above conditions are met, then the problem lies here. Vercel's Hobby Plan limits you to only one login connection per third-party service, meaning you can only have one GitHub account linked. Refer to the official documentation for details.

Your Hobby team on Vercel can have only one login connection per third-party service.
For example, you can only log into your Hobby team with a single GitHub account.

In the community, other users have also discussed this issue, expressing similar confusion: "While this simplifies Vercel's job, it introduces workflow complexity for developers like us, who now need to create separate company GitHub accounts for each project and manage SSH keys, Git authentication, emails, and usernames. Additionally, Git clients and IDEs also require dual setup for personal and company GitHub accounts."

Furthermore, if you consult some AI tools about this problem, you might get a suggestion like: "Set your Git commit email to match the email associated with your Vercel account," meaning the Git commit email configured for your repository needs to be consistent with your Vercel account email. They might also provide commands to configure the email in your repository.

You might have tried this approach. Initially, it seemed to workโ€”modifying the Git configuration to replace the privacy-protected GitHub assigned email (e.g., 121445xxx@users.noreply.github.com) with the email used for Vercel registration. Subsequently pushing the code resulted in a successful build.

However, this method's effect lasted only once. In subsequent commits, the build failed again, still prompting:

No GitHub account was found matching the commit author email address.

This is why there was one successful build (green checkmark โœ…) in the images above.

But this is not the ultimate solution and introduces more potential risks:

  • โŒ Exposes the originally hidden email address, compromising privacy.
  • โŒ Unstable build behavior, succeeding once then failing, making it harder to troubleshoot the cause.

Solution

Custom Deployment Workflow

Applicable if you:

  • Only want to deploy multiple Vercel projects with one GitHub account.
  • Are using multiple Vercel accounts linked to the same GitHub account.
  • Don't want to expose source code to Vercel, only upload build artifacts.
  • Prefer not to use GitHub/Vercel's default integration and instead control the entire deployment process via CLI.

Prerequisites:

  • Node.js and npm are installed.
  • Git is installed (if used for version control).
  • A Vercel account is registered.
  • Vercel CLI is installed and logged in.
  • Your local project has successfully built (supports Next.js, React, Vue, etc.).

Steps

  1. Install vercel CLI

If you have poor network conditions, you can temporarily enable Taobao's npm mirror in the terminal:

# This only affects the current terminal session
export NPM_CONFIG_REGISTRY=[https://registry.npmmirror.com](https://registry.npmmirror.com)
npm install -g vercel@latest
  1. Log in to Vercel
# Command
vercel login
# 1. Choose login method
Vercel CLI 44.4.0
? Log in to Vercel (Use arrow keys)
โฏ Continue with GitHub
  Continue with GitLab
  Continue with Bitbucket
  Continue with Email
  Continue with SAML Single Sign-On
 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  Cancel
 
# 2. Choose email login
? Log in to Vercel Continue with Email
? Enter your email address:
 
# 3. Wait for confirmation
We sent an email to xx@gmail.com. Please follow the steps provided inside it and make sure the security code matches Sparkling Dachshund.
โ ‹ Waiting for your confirmation
 
# 4. Success message after login
> Success! Email authentication complete for xx@gmail.com
Congratulations! You are now logged in. In order to deploy something, run `vercel`.
๐Ÿ’ก  Connect your Git Repositories to deploy every branch push automatically ([https://vercel.link/git](https://vercel.link/git)).

If you're using a Google email, you can select Continue with Email, enter the email you registered with Vercel, open your browser email, receive the verification email, open the link in the email, and enter the security code from the email. Your browser will automatically redirect to the terminal to complete the login.

? Log in to Vercel email
? Enter your email address: xxx@gmail.com
We sent an email to xxx@gmail.com. Please follow the steps provided inside it and make sure the security code matches Pragmatic Arctic Fox.
โ ‡ Waiting for your confirmation

Notes on Vercel CLI Login

  • Effective across terminal sessions: The token generated after login is saved in the local configuration. Even if you close and reopen the terminal, the login status remains active.
  • Global effect: Using Vercel CLI in any directory will utilize the same login status.
  • Long-term validity: The token does not expire immediately and can be used continuously.

Token expiration mechanism:

  • If Vercel CLI is not used for 10 days, the token will automatically expire.
  • Upon expiration, you'll see an error message: Error! The specified token is not valid.
  • You'll need to run vercel login again to obtain a new token.

How to maintain login status:

  • Use any Vercel CLI command at least once every 10 days.
  • Any Vercel CLI command can reset this 10-day timer.
  1. Create a token

Visit https://vercel.com/account/settings/tokens, click Create Token, enter a Token Name, and click Create to create a token for deployment. For security reasons, the Token needs to be saved separately; Vercel only displays it at creation and it cannot be viewed later.

โš ๏ธ Note: Do not commit VERCEL_TOKEN to your Git repository. It's recommended to manage it using .env with .gitignore.

  1. Link Project

Linking your local directory to a Vercel Project using vercel link is a crucial step for binding your current directory to a remote project. If vercel deploy is executed without vercel link beforehand, it might prompt you to create a new project or select a project scope, potentially leading to incorrect linking or duplicate project creation.

# Command
vercel link
# Output
Vercel CLI 44.4.0
# 1. Confirm local directory
? Set up โ€œlocal-directoryโ€? yes
# 2. Which scope should contain your project? Select the project you need to link
? Which scope should contain your project? xxx projects
# 3. Link to existing project, yes
? Link to existing project? yes
# 4. Enter the `vercel project` command
? Whatโ€™s the name of your existing project? xxx
โœ…  Linked to xxx (created .vercel)

In .vercel/project.json, you can see the mapping information.

  1. Pull relevant configurations from remote

Execute the following command in the project's root directory. vercel pull is a critical command for syncing remote project configurations and environment variables to your local machine.

# Command
vercel pull --yes --environment=preview --token=your-token
# Output
Vercel CLI 44.4.0
> Downloading `preview` Environment Variables for xxx
โœ…  Created .vercel/.env.preview.local file  [290ms]
 
> Downloading project settings
โœ…  Downloaded project settings to ~/xxx/.vercel/project.json [0ms]

This will overwrite the local project.json. Note that .vercel should not be committed to the source code repository.

  1. Build local artifacts
# Command
vercel build --token=xxx
# Output
Vercel CLI 44.4.0
...
 
Done in 974ms using pnpm v10.13.0
Detected Next.js version: 15.3.4
Running "pnpm run build"
 
> xxx@0.1.0 build /xx
> next build
 
   โ–ฒ Next.js 15.3.4
   - Environments: .env.production
 
   Creating an optimized production build ...
   ...
   ...
โ—‹  (Static)  prerendered as static content
โ—  (SSG)     prerendered as static HTML (uses generateStaticParams)
 
Notice: detected `next export`, this de-opts some Next.js features
See more info: [https://nextjs.org/docs/advanced-features/static-html-export](https://nextjs.org/docs/advanced-features/static-html-export)
โœ…  Build Completed in .vercel/output [2m]

This will perform a local build and create an output directory within .vercel.

  1. Deploy preview version
# Command
vercel deploy --prebuilt --token=xxx
# Output
Vercel CLI 44.4.0
๐Ÿ”  Inspect: [https://vercel.com/xxx](https://vercel.com/xxx) [6s]
โœ…  Production: [https://xxx.vercel.app](https://xxx.vercel.app) [6s]
2025-07-11T12:43:40.938Z  Running build in Washington, D.C., USA (East) โ€“ iad1
2025-07-11T12:43:40.939Z  Build machine configuration: 2 cores, 8 GB
2025-07-11T12:43:40.953Z  Retrieving list of deployment files...
2025-07-11T12:43:41.064Z  Previous build caches not available
2025-07-11T12:43:41.283Z  Downloading 111 deployment files...
2025-07-11T12:43:42.292Z  Using prebuilt build artifacts...
2025-07-11T12:43:42.325Z  Deploying outputs...
๐Ÿ“  Deployed to production. Run `vercel --prod` to overwrite later ([https://vercel.link/2F](https://vercel.link/2F)).
๐Ÿ’ก  To change the domain or build command, go to [https://vercel.com/xxx/settings](https://vercel.com/xxx/settings)

This will create a Preview release that can be deployed on Vercel.

  1. Deploy production version
vercel --prod

This will deploy to the production environment, and a deployment record will appear in Deployment.

๐Ÿ“œ Scripting Deployment in package.json

After completing all the configurations above, for long-term convenience, you can place the build and deploy commands in package.json for future use:

{
  "scripts": {
    "vercel:deploy": "vercel build && vercel --prod"
  }
}

This covers how to circumvent the GitHub account binding issue using Vercel CLI, without relying on third-party CI/CD Providers. You can continue to use the same GitHub account to manage your source code. If you want automatic deployments upon push, you would need to integrate a DevOps platform.

Alternatively, if you still prefer automatic deployments on GitHub commits, you might need to register a separate GitHub account to link to different Vercel accounts, while also managing SSH Keys locally.

References

ๆš‚ๆ— ็›ฎๅฝ•