#Push error on new eu deployment

5 messages · Page 1 of 1 (latest)

unique jewel
#

There is a 500 push error when deploying to a new eu hosting project. Works deploying locally but not on vercel, getting the following logs:

Uploading functions to Convex...
Generating TypeScript bindings...
Running TypeScript...
Pushing code to your Convex deployment...
Schema validation complete.
Finalizing push...
✖ Error: Unable to finish push to ....../api/deploy2/finish_push
✖ Error fetching POST ...../api/deploy2/finish_push 500 Internal Server Error: InternalServerError: Your request couldn't be completed. Try again later.

grim flowerBOT
#

Hi @unique jewel. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:

#

The knowledge sources don’t contain a specific fix for 500 errors on .../api/deploy2/finish_push for new EU deployments, so I can’t say exactly what’s wrong in your case.

What we do know:

  • A 500 with “Your request couldn’t be completed. Try again later.” during deploy2 is a Convex-side internal error, not a Vercel misconfiguration per se. Similar symptoms have appeared when pushing code that Convex couldn’t load (e.g. runtime errors while loading modules, odd console usage, use node issues, etc.), and the error only surfaced at push time. [Deploy CLI]
  • The Vercel integration should be using npx convex deploy --cmd 'npm run build' (or equivalent) as the Build Command, with CONVEX_DEPLOY_KEY set for the production environment so Convex and Vercel deploy in a coordinated way. [Vercel hosting; How it works]

Given that:

  1. Confirm Vercel setup

    • Build command is exactly something like:
      npx convex deploy --cmd 'npm run build'
      
    • CONVEX_DEPLOY_KEY is set in Vercel and scoped to Production only. [Vercel hosting]
  2. Check for code that might fail only in the new deployment
    Since local deploy works, compare:

    • Are you deploying to a different Convex project / deployment from Vercel than from local (different deploy key / URL)?
    • Any code that depends on environment variables or region-specific config that might be missing or different in the new EU project?
#
  1. Look for module-load/runtime issues
    Similar 500s have been triggered by code that throws while Convex loads modules (e.g. odd console usage, use node in actions, etc.), which only shows up as a generic 500 during push in the logs. [Better Auth thread; “Your request couldn’t be completed” thread]

    • Try temporarily commenting out any recent or unusual code (especially in init-like paths, top-level code in modules, or new actions/cron jobs) and redeploy from Vercel to see if the error disappears.
    • If you recently added libraries that behave differently in Node vs browser, check for top‑level side effects.
  2. Try a fresh Convex project as a sanity check
    Other users with “locked” or broken deployments have resolved it by creating a new Convex project and redeploying there. [Locked dev env]

    • Since this is already a “new EU hosting project”, you might try creating another minimal EU project, wiring it to Vercel with the same repo, and seeing if deploy succeeds. That helps distinguish “project-specific data/schema issue” from “codebase issue”.

Because this is a 500 on Convex’s side and not a clear configuration error, the next best step is to contact Convex support with:

  • The Convex project name / deployment URL (especially the new EU one).
  • The exact Vercel build logs (including the full npx convex deploy output).
  • A timestamp and your timezone when the failing deploy ran.
#

They can inspect internal logs for that finish_push request and tell you exactly which module or operation is failing. The public docs and Discord snippets don’t expose that level of detail, so I can’t be more specific from the available sources.

Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: