Updated:
Next.js
Known bugs and feature requests, from its public GitHub issues and its public forum.
Vercel sheets: Platform Next.js
Oct 25Nov 7, 2026Oct 25 to Nov 7, 2026: 83 reports
Whole days, US Eastern time.
Bugs80 in the rangeTop 5
- 4 JS chunks downloaded twice“A CORS request and a no-CORS request for the same URL have different HTTP cache keys, so the second tag downloads the chunk again.” No workaround yet
- 4 Stale cache mix after redeploy“This is a problem when deploying new app versions while clients have cached resources from older builds.” No workaround yet
-
2
Hash links concatenate fragments“Every subsequent hash navigation on that route keeps prepending:
/#a#c,/#a#b#dafter another reload, etc.” No workaround yet - 2 /_global-error prerender crash“On the reporter's machine this standalone scaffold builds green (~11 consecutive builds), while the production app crashes nondeterministically (~95% of runs).” No workaround yet
-
2
Back button skips history entries“Current: Back lands on
/items/a, and/itemsis skipped.” Has a workaround - 2 Validator.ts unused imports error“.next/dev/types/validator.ts(5,50): error TS6196: 'AppRouteHandlerRoutes' is declared but never used.” No workaround yet
- 2 Page reload loop after restart“Current (16.4.1): sessions 2 and 3 reload /a about 240 times in 6 seconds.” Has a workaround
-
1
remotePatterns wildcard matches too much“When the
*is not the leftmost label, this lets hosts owned by anyone through the allowlist.” No workaround yet - 1 Revalidation takes effect late“The revalidated page is still served from the cache until the gap between the two clocks has elapsed.” No workaround yet
- 1 Render loop from default parameterIn the minified build the module-level function is inlined into the default parameter, so the effect dependency changes each render and the render count never settles. Has a workaround
- 1 Route Handlers drop Content-Length“Viewers that rely on progressive/range loading now download the whole PDF before rendering the first page.” No workaround yet
- 1 Navigation stalls with repeated 307s“Click does nothing for ~8-10s, then the page updates via full-document fallback.” No workaround yet
-
1
Intercepted route ignores params“The URL becomes
/items?tab=archive, and the link now reads Open dialog (/items/dialog?tab=archive).” No workaround yet -
1
Framework 4xx responses become 500 in App Router-only production“Both requests return
500 Internal Server Errorwith a plain text body, and nothing is logged.” No workaround yet -
1
Slow Turbopack production build“On a mid-sized app,
next build(Turbopack) is about 30× slower on 16.4.x than on 16.3.8, and the problem is already fixed on the 16.5 canary line.” No workaround yet - 1 Missing aarch64 SWC artifact“Same missing swc artifact as the build integration job.” No workaround yet
-
1
Namespace re-exports not tree-shaken“Turbopack ships
lib/localesin the client bundle.” No workaround yet -
1
Glob import returns undefined“
next buildrenders{}, because every value is undefined.” No workaround yet -
1
cookies() throws InvariantError in dev when form submits before hydration“Open
/in a browser with JavaScript disabled (or submit the form before hydration finishes).” No workaround yet -
1
Config imports resolve against cwd“When the working directory is not the project directory, relative imports in
next.config.tsare resolved againstprocess.cwd().” Has a workaround - 1 Navigation waits on prefetchClicking a Link while the target's segment-data prefetch is still in flight delays the URL change and loading.js, unlike 16.3.8. No workaround yet
-
1
notFound() serves empty HTML“Current: a
notFound()404 serves<html id="__next_error__"><head></head><body></body></html>.” No workaround yet - 1 Inline bootstrap blocked by CSP“Every other script in the same response (the per-request part) carries the nonce correctly.” Has a workaround
-
1
Build hangs on worker import cycle“Current:
next buildwith Turbopack hangs silently.” Has a workaround -
0
Build fails on extensionless font URLs“When that happens,
next buildfails on both bundlers.” No workaround yet -
0
Page module factory not available“No chunk that loads for
/definesa-page-onlyorb-boundary.” No workaround yet - 0 Build spawns a webpack-loader pool per loader chain and context“Any count above 2 therefore means more than one pool.” No workaround yet
- 0 RSC and form requests to literal bracketed route URL return 500“The RSC and form requests should render successfully, like the HTML request and the concrete parameter control.” No workaround yet
-
0
Route group page returns 404“
/settingshas a complete route through(settings), and that route never renders the(dashboard)layout or its@modalslot.” No workaround yet -
0
Spurious usePathname() outside Suspense errors under Bun builds“Current: The build succeeds (exit 0, every dynamic route is
◐Partial Prerender), but it prints ~280 errors.” Has a workaround - 0 HMR stops after navigation“Following the steps from the previous section, I expect that editing a file after client navigation will be reflected w/out a manual page reload.” Has a workaround
- 0 Loaders get stale file content“The first call gets the file's previous content, although the file on disk already has the new content.” No workaround yet
-
0
Server Action redirect fetch loops“The user still reaches
/targetvia the fallback plain redirect, but the action loses its single-round-trip response and the error is logged every time.” No workaround yet -
0
Cache entries pin buffer slabs“Each renders at request time and calls a
'use cache'function keyed by the segment (about 1.5 KB per entry).” Has a workaround - 0 Link click never navigates during target's metadata-only prefetch“Click a row right after the page loads, on a CPU-constrained host (Docker, 2 CPUs), so the click lands while the target's metadata-only prefetch is in flight.” No workaround yet
- 0 ESLint config retains vulnerable braces@3.0.3 dependency“The audit is expected to exit nonzero; the advisory is the reported result.” No workaround yet
- 0 useTransition stuck pendingCalling window.history.pushState while a discarded Server Action's revalidatePath refresh is still streaming leaves the transition pending forever. No workaround yet
- 0 SVG sniffed as AVIFWith default config (dangerouslyAllowSVG: false), /_next/image returns 200 for this file, while a file starting with <svg returns 400. No workaround yet
-
0
webpackChunkName ignored“Build with
pnpm build(Turbopack) and observe that the chunk name is lost 💥” No workaround yet - 0 Upgrade reminder never auto-skips“Current: the menu stays open indefinitely.” No workaround yet
-
0
Dynamic preloads not reused“The page shows
Hydrated ~3060ms after navigation start, and the buttons don't respond until then.” No workaround yet -
0
Chunk loader scans whole DOM“The boot / hydration tasks show self time in
querySelectorAllcalled fromdoLoadChunk→loadChunkCached→loadChunkByUrlWhole, growing withn.” No workaround yet -
0
Font fallback face dropped“Current (Turbopack,
next buildandnext dev): noArchivo Fallbackface is emitted.” No workaround yet - 0 No-JS form submits return 500“TypeError: Cannot read properties of undefined (reading 'bind')” Has a workaround
- 0 Route body truncated to last chunk“The logged length is sometimes the full body and sometimes the last chunk only.” Has a workaround
- 1 Node.js 26: inline Flight data is split into one <script> per chunk on 16.4.x (~130× more scripts, 4× gzip bytes) — fixed on canary by #100142 No workaround yet
- 1 App Router: output: 'export' + default next/image loader builds without error No workaround yet
-
1
Turbopack production build runs a module before an earlier sibling import when it is also imported with
import()No workaround yet -
1
Turbopack: "Export a is a circular re-export" for an
export *cycle where the name comes from anotherexport *No workaround yet -
1
Inline Server Function reads
user.nameat render time even though the function only reads it behind a guard No workaround yet - 1 nextJsHandleConsoleError breaks console.error monkey patching during development (Page Router) No workaround yet
- 1 Pages Router: a page shared between two entry bundles can be read during its temporal dead zone No workaround yet
- 1 Turbopack: next/font preloads from global-not-found land on the wrong root layout No workaround yet
- 1 Turbopack: client navigation fails under require-trusted-types-for 'script' No workaround yet
- 1 Next.js Route Handlers accept cross-site form submissions that Next.js Server Actions, SvelteKit, Astro reject No workaround yet
- 1 App Router renders a page segment as empty, skipping loading.tsx, when a navigation starts while the loading-boundary prefetch is in flight No workaround yet
- 1 TypeError: headers.hasOwnProperty is not a function in Next.js 16.4.3 with Turbopack No workaround yet
-
1
16.4.5: Route Handlers drop
Content-Encodingbut still send the encoded body (breakshono/compress,CompressionStream) No workaround yet -
1
should handle a fetch action initiated from a static pagefails when its two actions reach different server instances No workaround yet - 1 PPR resume with host rewrites fails to recover concrete params in minimal mode (E592) No workaround yet
- 1 [Cache Components] 16.4.4: streamed Suspense swap never fires for server-side searchParams on a fully static route (dev + prod, [stream] and [block]) No workaround yet
- 2 htmlLimitedBots, App Router, completed Suspense content above 12.8 kB ends up in a hidden <div>. No workaround yet
- 1 htmlLimitedBots get Suspense fallbacks for boundaries still pending at the first flush (cacheComponents) No workaround yet
- 1 next/og leaves extra space after kerned words (bundled satori 0.29.0, fixed in satori 0.33.0) No workaround yet
- 1 A hard navigation sets location during render, so beforeunload listeners run inside React's render and a useEffectEvent there throws #440 No workaround yet
-
1
Turbopack dev:
transient_ref_count underflowpanic in turbo-tasks-backend abortsnext dev(16.4.3) No workaround yet - 1 RSC fetch stays open after client disconnect when using cacheSignal() No workaround yet
- 1 Pages Router with i18n records an ERROR "load route module" span on every successful request No workaround yet
-
1
experimental.cpusis capped at route count + 1, so onegenerateStaticParamsroute with thousands of paths renders on 4 workers No workaround yet -
1
next/font: no
<link rel="preload" as="font">is emitted whencacheComponentsis enabled No workaround yet -
1
cacheComponents:
next buildrebuilds a React component stack for every dynamic hole, ~23% of static generation CPU in our app No workaround yet - 1 use cache with cacheLife stale < 30 and expire >= 300 is baked into the build and never revalidates No workaround yet
- 1 cacheComponents: Link header from next.config headers() is duplicated and grows on every ISR regeneration No workaround yet
- 2 GA4 form_submit event not sent No workaround yet
- 1 Turbopack: other pages' client components land in every page's first-load JS (regression in 16.5.0-canary.27) No workaround yet
- 1 Turbopack: client source maps aren’t named <chunk>.js.map, breaking source map uploads No workaround yet
- 1 Turbopack: next build fails with "Permission denied (os error 13)" when a dynamic path.join meets an unreadable folder No workaround yet
- 1 Build trace collection calls readlink hundreds of thousands of times for the same paths with pnpm No workaround yet
- 1 Malformed Next-Router-State-Tree returns 500 instead of 400 on dynamically-rendered routes No workaround yet
-
1
Standalone server can't find a custom
cacheHandlerwhen the app is built from a subfolder (500 on every page, since 15.4.2-canary.15) No workaround yet - 1 agent md is generades without opt in it No workaround yet
- 1 Preview mode throws an exception with Node.js 26 No workaround yet
- 1 Caught error from a 'use cache' function still fails the page (build error, 500) since 16.1.0 No workaround yet
- 1 unstable_cache: entry written after revalidateTag(tag, { expire: 0 }) is treated as fresh although its data was read before the expiry No workaround yet
-
1
Route handlers set
http.routeon an already-ended OpenTelemetry HTTP server span ("Cannot execute the operation on ended Span") No workaround yet - 1 Regression: Intercepted route does nothing on re-navigation No workaround yet
- 1 next build crashes prerendering /_global-error with "Cannot read properties of null (reading 'useContext')" when cacheComponents: true No workaround yet
-
1
next devnever answers requests when the app directory contains a symlinked directory (regression in 16.4) No workaround yet -
1
@next/next/no-head-elementis silently skipped when the absolute file path containsapp/(e.g.webapp/,my-app/, Docker/app/) No workaround yet - 1 Turbopack panics when truncating CSS chunk filenames containing multibyte UTF-8 characters No workaround yet
- 1 App Router sends no requests on iOS Safari when crypto.subtle.digest never resolves (16.4 cache-busting hash) No workaround yet
-
1
Turbopack dev: after a restart over .next/dev, the root entry chunk list answers every HMR subscribe with
restart, so the page reloads forever No workaround yet - 1 experimental.inlineCss: a Server Action redirect leaves an unused <link rel="preload" as="style"> for the inlined stylesheet No workaround yet
- 1 App Router: history traversal restores the expected router tree but an incorrect URL after entering through an HTTP 307 redirect in Android WebView No workaround yet
- 1 HeadersAdapter does not implement getSetCookie(), dropping all Set-Cookie headers in (await headers()).getSetCookie() No workaround yet
- 1 Next.js + eve services deployment silently built without the eve service (Oct 22, 2026) No workaround yet
-
1
experimental.inlineCss: a stylesheet sent as
<style>in a prefetched segment and as<link>in the navigation crashes the navigation (React error #137) No workaround yet - 1 Minified production server code runs in non-strict mode since 16.4 No workaround yet
- 0 ISR pages never revalidate when build output files have an epoch (0) mtime No workaround yet
- 0 16.4.3: RSC flight payload serialized twice on postponed responses when partialPrefetching is enabled No workaround yet
- 0 Cache Components: draft mode logs "Unexpected cache miss after cache warming phase" for deterministic keys (partialPrefetching) No workaround yet
- 0 Cache Components: route-cache entries on disk are never read back, so a page evicted from the memory LRU or cached before a restart renders again No workaround yet
-
0
HTML response never finishes when a failing
'use cache'function is also read bygenerateMetadata(Partial Prefetching) No workaround yet - 0 [CLI] Broken glyphs / mojibake (e.g. Γû▓, Γ£ô) emitted in Windows console with OEM code page (CP437) No workaround yet
-
0
next build --webpack: deploymentId is not part of the webpack cache key, so next/font CSS keeps a previous deployment's?dpl=after a build-cache restore No workaround yet - 0 Response never terminates with partialPrefetching when an inline Server Function with bound args hits the Resume Data Cache No workaround yet
- 0 Turbopack: next build panics on a dangling symlink inside an externals-traced package (regression in 16.4) No workaround yet
-
0
reader.cancel()on a streaming fetch response hangs in route handlers No workaround yet - 0 fetch() with a Request and cache: "no-store" is not held until the dynamic stage in next dev, and undici's Date.now() logs a route error No workaround yet
-
0
create-next-app 16.4 generates
turbopack.rules["*.css"]with@tailwindcss/turbopack, and CSS Modules (.module.css) are not applied No workaround yet - 0 Route handler request never settles when the client resets between res.end() and 'finish' (createWriterFromResponse close() waits only for 'finish') No workaround yet
- 0 App Router (webpack): a page's CSS imports are reordered by an inconsistent sort comparator in FlightClientEntryPlugin No workaround yet
-
0
Turbopack: production build removes
if (!navigator.serviceWorker)checks No workaround yet - 0 Endless segment prefetch when a redirected link's prefetch is answered with a 307 (since 16.3.1-canary.16) No workaround yet
-
0
Pages Router:
next/dynamicrenders the loading state for concurrent SSR requests No workaround yet - 0 next build --turbopack: intermittent Module not found for Noto_Sans_JP (@vercel/turbopack-next/internal/font/google/font) No workaround yet
-
0
Catch-all route on Vercel: server-side
usePathname()percent-encodes slashes (/a%2Fb%2Fc) for paths not returned bygenerateStaticParamsNo workaround yet -
0
Turbopack: dependent of an async module without top-level await can read its exports before they are registered (
x is not a function, cached for the process lifetime) No workaround yet - 0 Turbopack: lazy import.meta.glob entries are not code-split and load with the page No workaround yet
-
0
turbopackRustReactCompiler: named class expression is renamed (_Foo→_Foo1) but its self-references are not →ReferenceError: _Foo is not definedNo workaround yet - 0 Patched fetch loses the AbortSignal when the GC collects its intermediate Request (fetch(request, { signal }) ignores the abort) No workaround yet
-
0
next devon Node 24: every server reload that goes throughdeleteCachekeeps the previous compilation alive (Node's private module-parent links) No workaround yet - 0 Cache Components: short-lived "use cache" entry served from the cache handler during warming is never marked in the Resume Data Cache, so every route warns "Unexpected cache miss" No workaround yet
-
0
'use cache': a read afterupdateTag()joins another request's in-flight fill and returns the old data No workaround yet - 0 Turbopack 16.4 traces every package.json dependency into a route that imports wasm from a workspace package No workaround yet
- 0 turbopackModuleFragments: next build fails with "ReferenceError: Cannot access '…' before initialization" No workaround yet
-
0
Turbopack ignores a runtime
assetPrefix, so Pages Router never hydrates (webpack works) No workaround yet - 0 Turbopack (App Router): route react-loadable-manifest names an unemitted chunk when a layout's next/dynamic gate is also reached from the page (preload 404) No workaround yet
-
0
Turbopack:
next buildwith a restored filesystem cache serves a previous build's compiledapp/globals.css(new custom properties missing) No workaround yet - 0 next dev: EPERM during Watchpack's initial scan silently drops a route directory (hangs, then 404 until restart) No workaround yet
- 0 Turbopack: client-reference manifests and server chunks grow on 16.4 (standalone output larger, server RSS up) No workaround yet
- 0 cacheComponents: redirect() during a background revalidation is cached as 308 without a Location header No workaround yet
- 0 Turbopack: where a large app's next build spends its time, and patches that halve it No workaround yet
- 0 new URL() to a package in serverExternalPackages is treated as a require() (Turbopack warning, webpack build error) No workaround yet
- 0 React error #419 reported for notFound() streamed into a Suspense boundary No workaround yet
-
0
Turbopack loader gets truncated
resourcePathwhen file path contains#No workaround yet - 0 next/image: every cache HIT waits for the full disk-LRU scan after server start (12 s stall with a persisted cache) No workaround yet
- 0 Turbopack: with experimental.inlineCss, a lazy import loads a CSS chunk that the page already inlined No workaround yet
- 0 next dev: unserialized writes corrupt .next/dev/types/routes.d.ts and validator.ts (short content + stale tail of a longer one) No workaround yet
- 0 loading.tsx Suspense boundary never resolves on the client (Next 15 and 16; works on 14) No workaround yet
- 0 Turbopack scope hoisting evaluates a merged module twice, duplicating module singletons No workaround yet
- 0 Turbopack: panic when a PostCSS plugin prints a stack trace while it loads No workaround yet
- 0 Cache Components enabled causes HTTP 500 / Error 1101 on Cloudflare Workers No workaround yet
- 0 Parallel route slot matched by [...catchAll] keeps the old root param (locale) after client navigation in production No workaround yet
-
0
Turbopack: with
turbopackFileSystemCacheForBuilda coldnext buildof a large App Router app is 2.1–2.6× slower (single-threaded aggregation-graph phase) and the 15–21 GB cache is mostly chunk-group dependency edges No workaround yet -
0
experimental.turbopackRustReactCompilerdrops development options the Babel React Compiler path sets (Fast Refresh memo-cache reset, anonymous function names, flow suppressions, TS source type) No workaround yet - 0 Turbopack dev: next/dynamic in Pages Router _app preloads a 404 chunk (regression in 16.5.0-canary.8) No workaround yet
- 0 Prefetch loop: optimistic routing drops a parallel slot's catch-all param next to a static segment No workaround yet
- 0 Turbopack dev server deadlocks deferred route compilation after a proxy request (16.4.0) No workaround yet
- 0 Truncated HTML on first load leaves App Router page unhydrated with an unhandled 'Connection closed.' (React #412) rejection No workaround yet
-
0
Segment cache: unbounded re-prefetch loop (thousands of
_rscrequests per minute) for<Link>s whose dynamic segment holds a raw:(not percent-encoded), with optimistic routing No workaround yet - 0 experimental.testProxy: a Node-runtime proxy wraps fetch a second time, so identical GETs in one render get the first response No workaround yet
-
0
next devretains heap on every App Router render (16.4.0): linear growth that survives forced GC No workaround yet -
0
next analyze exportfails with ENOENT on an icon route that usesgenerateImageMetadataNo workaround yet - 0 Code frames in next dev keep the startup terminal width after the terminal is resized No workaround yet
- 0 Server action that calls notFound() without JavaScript renders the not-found page without the root layout No workaround yet
- 0 Vercel: launcher crashes with Cannot find module './.next/server/pages/_next/image.js' when an image optimizer local source returns 5xx No workaround yet
Showing the newest 53 of 56.
Feature requests2 in the rangeAll 0
- 1 Docs: import.meta.glob with base changed its result keys in 16.4 — breaking change shipped without a changelog note or upgrade guidance No workaround yet
- 1 Docs: Intercepting Routes Diagram Lacking One Page.tsx file. No workaround yet
- 0 ESLint plugin root-discovery fast-glob dependency retains braces 3.0.3 (GHSA-vfj7-8cjw-p6xm) No workaround yet
- 0 Documentation: versioned behavior contract for no-unwanted-polyfillio No workaround yet
- 0 Docs: self-hosting cacheHandler example is an unbounded in-memory cache and disables the default LRU No workaround yet
-
0
Docs (Prefetching): a dynamic route without
loading.jsis described as not prefetched, but each<Link>to it still sends a prefetch request No workaround yet
Showing the newest 2 of 2.
Reports 83
grouped intoBugs 80
Requests 2
Key
- Rank in this list, by people
- Has a workaround
- Reports a week, thumbs-up outlined, this week white