nitrojs / nitrojs/nitro

_payload.json-isr 404 on ISR routes deployed to Vercel

Open
#4,047 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug nuxt v2
Dominant language
TypeScript
Stars
11.2k
Forks
899
Avg merge
2d 24m
Merged PRs (30d)
40

Description

Environment

Nuxt: 4.3.1
Nitro: 2.13.1
Deployment target: Vercel
Node.js: 22.x

Reproduction

routeRules: {
'/cookies': { isr: 3600 },
}.
The issue is a also tested it on a new nuxt project. And it does work. The single page where i enabled isr https://www.hetvitaliteitsplatform.nl/cookies. you can observe the error. modules i use modules: [
"@nuxtjs/seo",
"@nuxt/eslint",
"@nuxt/image",
"@nuxt/ui",
// Content module automatically integrates with sitemap
"@nuxt/content",
"@nuxtjs/supabase",
"nuxt-security",
"@nuxt/hints",
"nuxt-lettermint",
"@nuxt/scripts",
"nuxt-ai-ready",
"@nuxt/a11y",
],

Describe the bug

Deploy to Vercel. Navigate to /cookies (both direct navigation and client-side navigation).

Describe the bug

When navigating to an ISR-cached route, Nuxt attempts to fetch /_payload.json-isr for the page (e.g. /cookies/_payload.json-isr). This request returns a 404:

json
{
"error": true,
"url": "https://example.com/cookies/_payload.json-isr",
"statusCode": 404,
"statusMessage": "Page not found: /cookies/_payload.json-isr",
"message": "Page not found: /cookies/_payload.json-isr",
"data": { "path": "/cookies/_payload.json-isr" }
}
Expected behavior

The _payload.json-isr file should be served correctly, or Nuxt should handle the 404 gracefully without logging an error.

Actual behavior

The page loads correctly (ISR cache hit confirmed via x-vercel-cache: HIT), but a 404 network error for _payload.json-isr is logged in the browser console on every navigation to the ISR route. No visible impact to the user, but the error is noisy and may mask real issues.

Additional context

No response

Logs

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the deployed /cookies ISR route and inspect the browser request for /cookies/_payload.json-isr, including its response and the x-vercel-cache status. Trace the ISR payload request handling in Nitro/Nuxt and verify the fix by navigating directly and client-side without a 404 console error.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, nuxt
Domain
backend, web-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.