Skip to content
App Router...next.config.js OptionsserverComponentsHmrCache

serverComponentsHmrCache

This API is currently part of a Release Candidate and not yet available in a stable version.

The experimental serverComponentsHmrCache option allows you to cache fetch responses in Server Components across Hot Module Replacement (HMR) refreshes in local development. This results in faster responses and reduced costs for billed API calls.

By default, the HMR cache applies to all fetch requests, including those with the cache: 'no-store' option. This means uncached requests will not show fresh data between HMR refreshes. However, the cache will be cleared on navigation or full-page reloads.

You can disable the HMR cache by setting serverComponentsHmrCache to false in your next.config.js file:

next.config.ts
import type { NextConfig } from 'next'
 
const nextConfig: NextConfig = {
  experimental: {
    serverComponentsHmrCache: false, // defaults to true
  },
}
 
export default nextConfig

Good to know: For better observability, we recommend using the logging.fetches option which logs fetch cache hits and misses in the console during development.