Migrating to Remix ui@0.4.0
Version ui@0.4.0 introduces 4 breaking changes. This guide details how to update your code.
Released: 7/1/2026
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
button() mixin (@remix-run/ui/button)checkbox() mixin (@remix-run/ui/checkbox)input() mixin (@remix-run/ui/input)radio() mixin (@remix-run/ui/radio)tabs exports (@remix-run/ui/tabs)toggle() styles (@remix-run/ui/toggle)<Frame>clientEntryaccordion exportsbreadcrumbs exportscombobox exportsmenu exportsselect exportsBreaking Changes
●Issue #1
The styled button component API was replaced. Users must now use the default `button()` mixin exported from `@remix-run/ui/button` directly on button-like hosts instead of importing `Button` or composing previous slot style exports.
●Issue #2
Removed the `@remix-run/ui/components/*` subpath exports. Component modules must now be imported directly from `@remix-run/ui/*`.
●Issue #3
Removed root helper exports that were only intended for first-party component internals: `flashAttribute`, `hiddenTypeahead`, `matchNextItemBySearchText`, `onKeyDown`, `SearchValue`, `wait`, and `waitForCssTransition`.
●Issue #4
Removed the `@remix-run/ui/scroll-lock` subpath export, as scroll locking is now an internal popover implementation detail.
Migration Steps
- 1Replace usage of the old styled button component API with the new `button()` mixin from `@remix-run/ui/button`:
- 2If you were importing from `@remix-run/ui/components/*`, update imports to use `@remix-run/ui/*` instead.
- 3Remove usage of removed root helper exports: `flashAttribute`, `hiddenTypeahead`, `matchNextItemBySearchText`, `onKeyDown`, `SearchValue`, `wait`, and `waitForCssTransition`.
- 4Remove imports from `@remix-run/ui/scroll-lock`.
Release Summary
This release introduces new styling mixins for native form elements (button, checkbox, input, radio) and adds full support for Tabs and Toggle components. Several subpath exports and internal helper functions have been removed, constituting breaking changes for consumers relying on them.
Need More Details?
View the full release notes and all changes for Remix ui@0.4.0.
View Full Changelog