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

Have your agent know this before it fails

claude mcp add --transport http footgun https://getfootgun.com/api/mcp