ur working on a react app. ur fan kicks on. u assume chrome is the culprit, or slack, or the LSP. close tabs, kill apps, fan keeps spinning. actual cause in 6 out of 10 projects i audit on macOS: vite's hot module replacement (HMR) doing way more work than needed. default config keeps websocket connections alive, polls file changes, rebuilds bundles aggressively. on a multi-monitor M-series macbook this lands as a consistent fan-on state even when ur not typing. confirm its HMR first quit ur dev server. wait 30 seconds. does the fan calm down? yes → its HMR. no → look elsewhere (chrome tabs, docker, slack helper). one-line fix vite respects HMR env. flip it off when u dont need live reload: HMR = off pnpm dev Enter fullscreen mode Exit fullscreen mode or in vite.config.js : export default defineConfig ({ server : { hmr : process . env . HMR !== ' off ' , }, }); Enter fullscreen mode Exit fullscreen mode with HMR off, vite still serves files but stops the websocket + file-watcher loop.…