vercel/next.js · error · Error
Failed to fetch _devPagesManifest.json. Is something blockin
Error message
Failed to fetch _devPagesManifest.json. Is something blocking that network request? Read more: https://nextjs.org/docs/messages/failed-to-fetch-devpagesmanifest
What it means
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.
Source
Thrown at packages/next/src/client/page-loader.ts:82
getPageList() {
if (process.env.NODE_ENV === 'production') {
return getClientBuildManifest().then((manifest) => manifest.sortedPages)
} else {
if (window.__DEV_PAGES_MANIFEST) {
return window.__DEV_PAGES_MANIFEST.pages
} else {
this.promisedDevPagesManifest ||= fetch(
`${this.assetPrefix}/_next/static/development/${DEV_CLIENT_PAGES_MANIFEST}`,
{ credentials: 'same-origin' }
)
.then((res) => res.json())
.then((manifest: { pages: string[] }) => {
window.__DEV_PAGES_MANIFEST = manifest
return manifest.pages
})
.catch((err) => {
console.log(`Failed to fetch devPagesManifest:`, err)
throw new Error(
`Failed to fetch _devPagesManifest.json. Is something blocking that network request?\n` +
'Read more: https://nextjs.org/docs/messages/failed-to-fetch-devpagesmanifest'
)
})
return this.promisedDevPagesManifest
}
}
}
getMiddleware() {
// Webpack production
if (
process.env.NODE_ENV === 'production' &&
process.env.__NEXT_MIDDLEWARE_MATCHERS
) {
const middlewareMatchers = process.env.__NEXT_MIDDLEWARE_MATCHERS
window.__MIDDLEWARE_MATCHERS = middlewareMatchers
? (middlewareMatchers as any as ProxyMatcher[])View on GitHub (pinned to 0ae8c72462)
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.
Example fix
// Not a code fix — environment/config issue.
// 1. Restart dev server: `next dev`
// 2. Hard refresh (Ctrl+Shift R)
// 3. Disable ad blockers for localhost
// next.config.js — ensure no stray assetPrefix:
module.exports = { /* no assetPrefix in dev */ } Defensive patterns
Strategy: retry
Validate before calling
// Not preventable in code — it's a dev-server/network issue.
// Pre-check: ensure dev server is reachable before relying on route discovery.
async function devServerUp(baseUrl: string): Promise<boolean> {
try { await fetch(baseUrl); return true } catch { return false }
} Try / catch
// PageLoader caches the promise; a hard refresh re-fetches. // No application-level catch needed — fix the environment.
Prevention
- 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.
When it happens
Trigger: 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`.
Common situations: 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.
Related errors
- Failed to fetch ${url}
- Dev server did not become ready within ${timeoutMs}ms
- [${label}] warmup: all ${batchSize} requests failed — server
- Failed to fetch ${url}, too many retries
- Failed to download: ${url}
AI-assisted analysis of vercel/next.js@0ae8c72462 (2026-08-06).
Data as JSON: /api/errors/c0e537fffc454663.
Report an issue: GitHub.