Vercel · infra · fg-0252
Work started after returning the response never finishes on Vercel (emails, logs, analytics silently dropped)
A promise fired without await after sending the response never completes
Verified 2026-10-15 · Confirmed by 0 builders · Trust 50/100
Cause
Vercel only keeps an invocation alive for work it knows about. Promises that are not passed to waitUntil or Next.js after() can be cut off once the response is sent, and even tracked work shares the function max duration.
Fix
Wrap post response work in after() on Next.js 15.1 or later, or waitUntil from @vercel/functions elsewhere, and keep it within maxDuration. Use a queue or workflow for anything long.
Apply
import { waitUntil } from '@vercel/functions';
export default {
fetch(req: Request) {
waitUntil(sendWelcomeEmail());
return new Response('ok');
},
};Affects: Vercel Functions on Node.js and Edge runtimes, all plans, as of October 2026
Sources
- https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package
- https://vercel.com/docs/fluid-compute
Have your agent know this before it fails
claude mcp add --transport http footgun https://getfootgun.com/api/mcp