{"record":{"id":"c0e537fffc454663","repo":"vercel/next.js","slug":"failed-to-fetch-devpagesmanifest-json-is-somethi","errorCode":null,"errorMessage":"Failed to fetch _devPagesManifest.json. Is something blocking that network request?\nRead more: https://nextjs.org/docs/messages/failed-to-fetch-devpagesmanifest","messagePattern":"Failed to fetch _devPagesManifest\\.json\\. Is something blocking that network request\\?\nRead more: https://nextjs\\.org/docs/messages/failed-to-fetch-devpagesmanifest","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/next/src/client/page-loader.ts","lineNumber":82,"sourceCode":"  getPageList() {\n    if (process.env.NODE_ENV === 'production') {\n      return getClientBuildManifest().then((manifest) => manifest.sortedPages)\n    } else {\n      if (window.__DEV_PAGES_MANIFEST) {\n        return window.__DEV_PAGES_MANIFEST.pages\n      } else {\n        this.promisedDevPagesManifest ||= fetch(\n          `${this.assetPrefix}/_next/static/development/${DEV_CLIENT_PAGES_MANIFEST}`,\n          { credentials: 'same-origin' }\n        )\n          .then((res) => res.json())\n          .then((manifest: { pages: string[] }) => {\n            window.__DEV_PAGES_MANIFEST = manifest\n            return manifest.pages\n          })\n          .catch((err) => {\n            console.log(`Failed to fetch devPagesManifest:`, err)\n            throw new Error(\n              `Failed to fetch _devPagesManifest.json. Is something blocking that network request?\\n` +\n                'Read more: https://nextjs.org/docs/messages/failed-to-fetch-devpagesmanifest'\n            )\n          })\n        return this.promisedDevPagesManifest\n      }\n    }\n  }\n\n  getMiddleware() {\n    // Webpack production\n    if (\n      process.env.NODE_ENV === 'production' &&\n      process.env.__NEXT_MIDDLEWARE_MATCHERS\n    ) {\n      const middlewareMatchers = process.env.__NEXT_MIDDLEWARE_MATCHERS\n      window.__MIDDLEWARE_MATCHERS = middlewareMatchers\n        ? (middlewareMatchers as any as ProxyMatcher[])","sourceCodeStart":64,"sourceCodeEnd":100,"githubUrl":"https://github.com/vercel/next.js/blob/0ae8c72462952df163f1b1e0726641bc5b40dc93/packages/next/src/client/page-loader.ts#L64-L100","documentation":"In development, `PageLoader.getPageList()` (page-loader.ts:71-86) fetches `_next/static/development/_devPagesManifest.json` to discover routes. If the fetch rejects, the `.catch` rethrows this `Error`. The manifest is a dev-only artifact; in production the client build manifest is used instead. The failure indicates the dev server could not serve the manifest to the browser.","triggerScenarios":"The browser requests `_devPagesManifest.json` and the fetch fails (network error, 404, CORS, blocked by an extension/proxy). This happens during client-side route discovery in `next dev`.","commonSituations":"An ad blocker or privacy extension blocking the `_next` path; a proxy/corporate firewall stripping the request; the dev server crashed or restarted between page load and the manifest fetch; a misconfigured `basePath`/`assetPrefix`; HMR in a broken state after editing config files.","solutions":["Disable browser extensions (ad blockers, privacy extensions) that may block `_next` requests and reload.","Restart `next dev` and hard-refresh the browser to regenerate and refetch the manifest.","Check the browser Network tab for the failed `_devPagesManifest.json` request and its status/error.","Verify `basePath`/`assetPrefix` in next.config.js point at the serving origin."],"exampleFix":"// Not a code fix — environment/config issue.\n// 1. Restart dev server: `next dev`\n// 2. Hard refresh (Ctrl+Shift R)\n// 3. Disable ad blockers for localhost\n// next.config.js — ensure no stray assetPrefix:\nmodule.exports = { /* no assetPrefix in dev */ }","handlingStrategy":"retry","validationCode":"// Not preventable in code — it's a dev-server/network issue.\n// Pre-check: ensure dev server is reachable before relying on route discovery.\nasync function devServerUp(baseUrl: string): Promise<boolean> {\n  try { await fetch(baseUrl); return true } catch { return false }\n}","typeGuard":null,"tryCatchPattern":"// PageLoader caches the promise; a hard refresh re-fetches.\n// No application-level catch needed — fix the environment.","preventionTips":["Disable ad/privacy browser extensions for localhost during development.","Restart next dev after editing next.config.js or env files.","Keep the dev server running while iterating; avoid killing it mid-HMR.","Verify assetPrefix/basePath are unset or correct in dev."],"tags":["development","network","dev-server","pages-router"],"analyzedSha":"0ae8c72462952df163f1b1e0726641bc5b40dc93","analyzedAt":"2026-08-06T19:44:29.143Z","schemaVersion":2},"datasetVersion":"2026-08-07T02:17:10.218Z"}