@vitejs/plugin-react breaking changes
Every breaking API change we have recorded in @vitejs/plugin-react on npm: 11 breaking changes in 2 versions. Below are its newest 2 versions, removals and renames first, each with its source.
Newest change March 12, 2026

On this page
6.0.0
- Removed
Vite 7 and older versions are no longer supported. Upgrade to Vite 8 to keep using this plugin. github.com - Removed
BabelOptions
BabelOptions was removed in @vitejs/plugin-react 6.0.0 npmjs.com - Removed
Options.babel
Babel is no longer a dependency of the plugin. To keep Babel transforms, install @rolldown/plugin-babel and pass your Babel options to it instead of to react(). npmjs.com - Removed
ReactBabelOptions
ReactBabelOptions was removed in @vitejs/plugin-react 6.0.0 npmjs.com - Removed
ViteReactPluginApi
ViteReactPluginApi was removed in @vitejs/plugin-react 6.0.0 npmjs.com
5.0.0-beta.0
- Removed
The plugin no longer supports older Node.js versions; upgrade Node.js to 20.19 or later, or 22.12 or later. github.com - Removed
Options.disableOxcRecommendation
The disableOxcRecommendation option is removed, so code passing it must drop it. npmjs.com - Removed
runtimeModule
The runtimeModule option is no longer needed; use a newer babel-plugin-react-compiler that supports the target option. github.com - Behavior changed
Builds with NODE_ENV=development now use the development JSX transform instead of the production one. github.com - Behavior changed
resolve.dedupe
The plugin no longer adds react and react-dom to resolve.dedupe; add them manually if you need the previous behavior. github.com - Default changed
exclude
The default exclude value changed so node_modules files are processed; set exclude explicitly to keep excluding them. github.com
Check your code
These are the changes. To see which of them reach your code, scan a public repository, or have your coding agent call check_code with your manifest or lockfile over MCP. The API reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

Put your code on continuous management.
Scan a public repository now, or give your agent one line.
See how out of date your code is.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcp