Nitro · Migration

NITRO0016Return H3 v2 redirect responses

H3 v2 prefers returned redirect() responses over sendRedirect(event, ...).

Why it happens

The H3 v2 response model uses returned Web API response values while sendRedirect remains a compatibility wrapper.

Fix

Return redirect(location, status) from the handler.

Example

Return an H3 v2 redirect

Before

export default defineHandler((event) => {
  return sendRedirect(event, "/login")
})

After

export default defineHandler(() => {
  return redirect("/login")
})

Verify the fix

Run only this rule after editing so the report stays focused on the diagnostic you are closing:

pnpm vite-doctor . --framework nitro --rules nitro/h3/prefer-redirect-response
Copyright © 2026