
I was tired of next-themes being abandoned, so I built a drop-in replacement
next-themes has 22 million weekly downloads . It hasn't had a release in over a year. There are 43 open issues and 16 unmerged PRs sitting there , including React 19 compatibility bugs that affect every project upgrading to Next.js 16. I got tired of waiting. So I built @wrksz/themes . The problem with next-themes When Next.js 16 and React 19 dropped, projects started hitting a wall. The most common issues: React 19 script warning - next-themes renders an inline <script> inside a Client Component. React 19 started warning about this explicitly: Encountered a script tag while rendering React component. Scripts inside React components are never executed when rendering on the client. Stale theme with cacheComponents - next-themes uses useState + useContext , which causes stale theme values when React's Activity or cacheComponents suspend and resume a subtree. Your theme gets stuck. __name minification bug - production builds that minify function names break next-themes internals silently.
Continue reading on Dev.to React
Opens in a new tab



