I am unable to create a production deployment for an existing Vercel project because the Vercel CLI returns Error: Not authorized before a deployment record is created.
Project information
Project: thinkoutloud-app Project ID: prj_MBxiBeRGAxkJXIX0gw0BqxD48gQA Team: raoul-donatis-projects Team ID: team_zJOq0k0lMB9GgywuI6vHjt7i CLI user: raouldonati14-6711 Team role: OWNER Connected GitHub identity: raouldonati14-eng
Failed deployment
Vercel CLI: 59.11.1 Node.js: 22.22.0 Command started: 2026-09-02T00:06:12.034Z Process ended approximately: 2026-09-02T00:06:54Z Exit code: 1 Exact error: Not authorized Commit: 58c335638578463ea476ab53c16413ccb9e56d2e
No deployment ID was created, no deployment URL was created, and no build started.
I have verified the following:
vercel whoami returns the expected account. vercel teams ls shows the correct team. My account is a confirmed OWNER of the team. The CLI can successfully list the project's production deployments. The CLI can successfully inspect thinkoutloud-app. Local .vercel/project.json contains the correct project ID and team/org ID. There is no VERCEL_TOKEN environment variable overriding the saved login. The commit author and committer use the verified GitHub noreply identity. The GitHub account is raouldonati14-eng. The worktree is clean.
There were earlier deployment attempts that Vercel blocked because an older commit used raoul@example.com as the commit email. That issue has been corrected. Those earlier attempts generated deployment-creation-blocked events in the Vercel Team Activity Log.
The current attempt is different. A time-bounded Activity API query covering 2026-09-02T00:00:00Z through 2026-09-02T00:20:00Z returned:
{ "events": [] }
Therefore, this Not authorized failure appears to occur before Vercel creates or logs a deployment record.
The existing production deployment remains READY and has not been modified.
What I need help determining:
Which authorization check, principal, policy, scope, or permission is rejecting the deployment-creation request even though the authenticated CLI user is the OWNER of the team and has access to the existing project?
I have intentionally stopped retrying deployments because I would like to identify the cause before changing authentication, project configuration, Git integration, or other production settings.