Vercel Workflows stuck Pending on Vercel; work locally

I’m seeing a consistent Vercel World Workflow bug that only appears in production. Locally, everything runs flawlessly… flows start, steps execute, routes resolve, logs make sense. But the moment it’s deployed to Vercel (Pro plan), every run gets stuck in pending forever.

Workflow does build. It deploys. It queues. All outgoing requests succeed.
And yet the run never advances past “pending.”

Meanwhile, Vercel’s Observability dashboard is completely unreliable here – it claims 100–200+ runs were “created” or “completed,” even though only a handful were ever actually started (and all of those were cancelled manually). Some example run IDs:

wrun_01KC8624HSAREY1XYRTCC662C0
wrun_01KC850FCA27HC54FA6MJXVN2K
wrun_01KC85KKRR93AV2Q91AFNCZTSS
wrun_01KC850FBYTPXNRM4V96F0S2XH

Outgoing requests from my deployment all succeed, e.g.:

POST vercel-workflow.com/api/v1/runs/create   200
POST vercel-queue.com/api/v2/messages         201

So the app is doing its job, it seems as if the issue is entirely on Vercel’s side.


Repro

Repo with a fully minimal repro:

Live deployment:
https://vercel-workflow-bug.vercel.app

Trigger a run yourself:

curl -X POST https://vercel-workflow-bug.vercel.app/api/start

Here’s a real production run ID that never progressed:
wrun_01KC9X1RQHC024Q8B8Y3VZ6NYT


Stack

  • Latest React Router
  • rr-next-routes (just generates routes.ts)
  • Latest Workflow SDK

What I’ve already tried

Pretty much everything Vercel documents:

  • Adding .well-known/workflow/* handlers manually
  • A Vite plugin using @swc/transform
  • Using @swc/transform directly in the handlers
  • Copying the Nitro integration
  • Copying the Bun integration
  • Copying “Adapting to Other Frameworks” line for line
  • Rewriting the handlers in multiple formats
  • Downgrading Workflow versions
  • Adding export const dynamic = "force-dynamic"
  • Verifying all routes resolve locally exactly as the docs instruct

In all cases:

  • Local works perfectly
  • Production queue never progresses

I filed a support ticket, but the answer was basically “it’s beta, go ask the community,” which doesn’t help much when the feature is blocking production sign-ups and the community issue has been sitting open. But, I guess now I’m here.

Cheers!

1 Like

Isn’t the product called “Workflow” ?


Exact same issue here on prod.

@sourfruit it actually is “Vercel Workflow” singular. Thanks for checking!

I removed the other tag

Thanks for sharing an example repo. Starting to dig into this now, but it’ll take me some time.

In case it helps before I can get through debugging, I asked v0 for some suggestions. Looks like you may have already tried some of this, but here’s what it gave me:

Here are a few things to check:

Route Handler Configuration

Make sure your .well-known/workflow/* routes are properly configured as API routes in your Next.js app. Since you’re using React Router, ensure these handlers are accessible at the correct paths:

/api/.well-known/workflow/definition
/api/.well-known/workflow/step

Function Configuration

Try adding explicit function configuration to your workflow handlers:

export const runtime = 'nodejs'
export const dynamic = 'force-dynamic'
export const maxDuration = 300 // 5 minutes

Debugging Steps

  1. Check your Vercel Function logs in the dashboard to see if the workflow handlers are being invoked
  2. Verify the workflow definition is accessible at https://your-domain.vercel.app/.well-known/workflow/definition
  3. Test the step handler endpoint directly

Since Workflows is still in beta, there might be some issues that haven’t been worked out yet. I’ll make sure your example is shared with the Workflows engineers too

Did you find any workaround?

Hello. I am encountering the exact same issue and have tried everything i can think of. It’s working perfectly locally but I simply am not able to get it working in the Vercel deployment.

@amyegan i tried you solution, defined handlers explicitly, and it works locally but simply does not work when deployed to Vercel. Workflows are stuck in Pending.

Any suggestions?

Thank you,

Julian

I figure out my issue and leaving this message here in case other people get stuck.

Because I implemented authentication and had a middleware/proxy the workflow routes were not accesible so the workflow was starting but was then stuck on pending.

2 Likes

I had the same issue and also figured out that it was missing an exception in the middleware file.

1 Like

Thanks for coming back to share your solutions :black_heart:

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.