Why Next.js CSS chunk loading fails after Vercel deployments with dynamic imports

I am seeing recurring client errors on production after deploys:

Error: Loading CSS chunk #### failed

(e.g. /_next/static/css/2df93b42ee137a7c.css and ...335d32a4c79d2557.css)

Setup

  • Next.js App Router on Vercel
  • Some components are loaded with dynamic(() => import(...), { ssr: false })
  • Sentry has logged this for ~24 days (700+ events), mainly Chrome

We want to keep dynamic() usage, so trying to understand root cause instead of removing it.

Question

Is this usually from stale runtime/HTML referencing old CSS chunks during rollout, or something else we should check on Vercel cache/deploy behavior?

Any recommended mitigation while keeping dynamic imports would help.