Clerk now supports theming via Clerk CSS variables.
Following last week's update that enabled CSS variables in Clerk's appearance system, you can now customize the theme of Clerk components by defining Clerk CSS variables in your application's stylesheets, no CSS-in-JS required!
Define Clerk variables through CSS variables like so:
For more details on the supported variables, see the variables properties documentation.
Included in this release, we've also taken the opportunity to improve the naming of our variables and add additional variables to make theming more flexible.
Deprecated variables
The following properties are deprecated as of July 15th, 2025 and will be removed in the next major version of Clerk. We recommend migrating to the new properties as soon as possible.
Deprecated
New
colorText
colorForeground
colorTextOnPrimaryBackground
colorPrimaryForeground
colorTextSecondary
colorMutedForeground
spacingUnit
spacing
colorInputText
colorInputForeground
colorInputBackground
colorInput
New variables
Variable
Description
colorRing
The color of the ring when an interactive element is focused.
colorMuted
The background color for elements of lower importance, eg: a muted background.
colorShadow
The base shadow color used in the components.
colorBorder
The base border color used in the components.
colorModalBackdrop
The background color of the modal backdrop.
For more details, including important details about browser compatibility considerations, see the Clerk CSS variables documentation.
Configure and integrate Clerk directly through the Vercel Marketplace.
Clerk is now available on the Vercel Marketplace in its new Authentication category. With one-click setup, automatic environment variable sync, and unified billing through Vercel, it's easier than ever to integrate Clerk into your Vercel projects.
With the marketplace integration you can:
Leverage all of Clerk's existing features, such as the B2B SaaS suite and Clerk Billing
Create a Clerk account and spin up Clerk applications directly from the Vercel dashboard
Sync your Clerk API keys into your Vercel project's environment variables
Manage billing through your existing Vercel account
We’ve added support for ordering organization invitations when listing them via the /organizations/{organization_id}/invitations endpoint, allowing sorting by creation date or email address in ascending or descending order using the new optional order_by parameter.
Ordering Options
+created_at - Sort by creation date in ascending order
-created_at - Sort by creation date in descending order (default)
+email_address - Sort by email address in ascending order
-email_address - Sort by email address in descending order
We’re excited to introduce a new top-level Feature construct for your applications.
Features are utilized inside of our Billing product, like inside your <PricingTable /> implementations, as well as within your app's roles & permissions where you can easily attach permissions to features for authorization checks using our has(), protect(), and <Protect> helpers.
As part of this update, we’ve also redesigned the Roles & Permissions page in the Clerk Dashboard, making it easier to manage user roles and their associated system or feature permissions.
Manage your app’s feature definitions in the Feature Management section of the Dashboard starting today, or as part of your Roles & Permissions configuration.
Dashboard accounts now start as an organization, as opposed to Personal accounts.
Previously, new users on the Clerk Dashboard started with "personal accounts." This meant that to add collaborators, you first had to convert your account to an Organization. Since July 4th, all new Dashboard users have been automatically set up with an organization, allowing you to invite team members and collaborate immediately.
For existing users, we will automatically migrate your personal account and all its resources to an organization in the coming days. No action is required on your part—all your applications and settings will remain unchanged.
This change only affects Clerk Dashboard users and has no impact on your applications or its users.