@clerk/clerk-react breaking changes
Every breaking API change we have recorded in @clerk/clerk-react on npm: 41 breaking changes in 3 versions. Below are its newest 3 versions, removals and renames first, each with its source.
Newest change January 28, 2026

On this page
5.60.0
- Signature changed
__experimental_CheckoutProvider
Was export {__experimental_CheckoutProvider, __experimental_PaymentElement, __experimental_PaymentElementProvider, __experimental_useCheckout, __experimental_usePaymentElement, useClerk, useOrganization, useOrganizationList... npmjs.com - Signature changed
__experimental_PaymentElement
Was export {__experimental_CheckoutProvider, __experimental_PaymentElement, __experimental_PaymentElementProvider, __experimental_useCheckout, __experimental_usePaymentElement, useClerk, useOrganization, useOrganizationList... npmjs.com - Signature changed
__experimental_PaymentElementProvider
Was export {__experimental_CheckoutProvider, __experimental_PaymentElement, __experimental_PaymentElementProvider, __experimental_useCheckout, __experimental_usePaymentElement, useClerk, useOrganization, useOrganizationList... npmjs.com - Signature changed
__experimental_useCheckout
Was export {__experimental_CheckoutProvider, __experimental_PaymentElement, __experimental_PaymentElementProvider, __experimental_useCheckout, __experimental_usePaymentElement, useClerk, useOrganization, useOrganizationList... npmjs.com - Signature changed
__experimental_usePaymentElement
Was export {__experimental_CheckoutProvider, __experimental_PaymentElement, __experimental_PaymentElementProvider, __experimental_useCheckout, __experimental_usePaymentElement, useClerk, useOrganization, useOrganizationList... npmjs.com - Signature changed
useClerk
Was export {__experimental_CheckoutProvider, __experimental_PaymentElement, __experimental_PaymentElementProvider, __experimental_useCheckout, __experimental_usePaymentElement, useClerk, useOrganization, useOrganizationList... npmjs.com - Signature changed
useOrganization
Was export {__experimental_CheckoutProvider, __experimental_PaymentElement, __experimental_PaymentElementProvider, __experimental_useCheckout, __experimental_usePaymentElement, useClerk, useOrganization, useOrganizationList... npmjs.com - Signature changed
useOrganizationList
Was export {__experimental_CheckoutProvider, __experimental_PaymentElement, __experimental_PaymentElementProvider, __experimental_useCheckout, __experimental_usePaymentElement, useClerk, useOrganization, useOrganizationList... npmjs.com - Signature changed
useReverification
Was export {__experimental_CheckoutProvider, __experimental_PaymentElement, __experimental_PaymentElementProvider, __experimental_useCheckout, __experimental_usePaymentElement, useClerk, useOrganization, useOrganizationList... npmjs.com - Signature changed
useSession
Was export {__experimental_CheckoutProvider, __experimental_PaymentElement, __experimental_PaymentElementProvider, __experimental_useCheckout, __experimental_usePaymentElement, useClerk, useOrganization, useOrganizationList... npmjs.com
And 2 more in this version.
5.58.1
- Signature changed
experimental:CheckoutProvider
Was export {__experimental_CheckoutProvider as CheckoutProvider, __experimental_PaymentElement as PaymentElement, __experimental_PaymentElementProvider as PaymentElementProvider, __experimental_useCheckout as useCheckout... npmjs.com - Signature changed
experimental:PaymentElement
Was export {__experimental_CheckoutProvider as CheckoutProvider, __experimental_PaymentElement as PaymentElement, __experimental_PaymentElementProvider as PaymentElementProvider, __experimental_useCheckout as useCheckout... npmjs.com - Signature changed
experimental:PaymentElementProvider
Was export {__experimental_CheckoutProvider as CheckoutProvider, __experimental_PaymentElement as PaymentElement, __experimental_PaymentElementProvider as PaymentElementProvider, __experimental_useCheckout as useCheckout... npmjs.com - Signature changed
experimental:useCheckout
Was export {__experimental_CheckoutProvider as CheckoutProvider, __experimental_PaymentElement as PaymentElement, __experimental_PaymentElementProvider as PaymentElementProvider, __experimental_useCheckout as useCheckout... npmjs.com - Signature changed
experimental:usePaymentAttempts
Was export {__experimental_CheckoutProvider as CheckoutProvider, __experimental_PaymentElement as PaymentElement, __experimental_PaymentElementProvider as PaymentElementProvider, __experimental_useCheckout as useCheckout... npmjs.com - Signature changed
experimental:usePaymentElement
Was export {__experimental_CheckoutProvider as CheckoutProvider, __experimental_PaymentElement as PaymentElement, __experimental_PaymentElementProvider as PaymentElementProvider, __experimental_useCheckout as useCheckout... npmjs.com - Signature changed
experimental:usePaymentMethods
Was export {__experimental_CheckoutProvider as CheckoutProvider, __experimental_PaymentElement as PaymentElement, __experimental_PaymentElementProvider as PaymentElementProvider, __experimental_useCheckout as useCheckout... npmjs.com - Signature changed
experimental:usePlans
Was export {__experimental_CheckoutProvider as CheckoutProvider, __experimental_PaymentElement as PaymentElement, __experimental_PaymentElementProvider as PaymentElementProvider, __experimental_useCheckout as useCheckout... npmjs.com - Signature changed
experimental:useStatements
Was export {__experimental_CheckoutProvider as CheckoutProvider, __experimental_PaymentElement as PaymentElement, __experimental_PaymentElementProvider as PaymentElementProvider, __experimental_useCheckout as useCheckout... npmjs.com - Signature changed
experimental:useSubscription
Was export {__experimental_CheckoutProvider as CheckoutProvider, __experimental_PaymentElement as PaymentElement, __experimental_PaymentElementProvider as PaymentElementProvider, __experimental_useCheckout as useCheckout... npmjs.com
5.53.5
- Signature changed
AuthenticateWithRedirectCallback
Was const AuthenticateWithRedirectCallback: {(props: _clerk_types.Without<WithClerkProp<HandleOAuthCallbackParams>, "clerk">): React.JSX.Element | null; displayName: string;}; now const AuthenticateWithRedirectCallback: {(props... npmjs.com - Signature changed
experimental:CheckoutButton
Was const CheckoutButton: {(props: _clerk_types.Without<WithClerkProp<React.PropsWithChildren<__experimental_CheckoutButtonProps>>, "clerk">): React.JSX.Element | null; displayName: string;}; now const CheckoutButton: {(props... npmjs.com - Signature changed
experimental:CheckoutButtonProps
Was export {__experimental_CheckoutButtonProps as CheckoutButtonProps, __experimental_PlanDetailsButtonProps as PlanDetailsButtonProps, __experimental_SubscriptionDetailsButtonProps as SubscriptionDetailsButtonProps} from '@clerk/types'... npmjs.com - Signature changed
experimental:PlanDetailsButton
Was const PlanDetailsButton: {(props: _clerk_types.Without<WithClerkProp<React.PropsWithChildren<__experimental_PlanDetailsButtonProps>>, "clerk">): React.JSX.Element | null; displayName: string;}; now const PlanDetailsButton: {(props... npmjs.com - Signature changed
experimental:PlanDetailsButtonProps
Was export {__experimental_CheckoutButtonProps as CheckoutButtonProps, __experimental_PlanDetailsButtonProps as PlanDetailsButtonProps, __experimental_SubscriptionDetailsButtonProps as SubscriptionDetailsButtonProps} from '@clerk/types'... npmjs.com - Signature changed
experimental:SubscriptionDetailsButton
Was const SubscriptionDetailsButton: {(props: _clerk_types.Without<WithClerkProp<React.PropsWithChildren<__experimental_SubscriptionDetailsButtonProps>>, "clerk">): React.JSX.Element | null; displayName: string;}; now const... npmjs.com - Signature changed
experimental:SubscriptionDetailsButtonProps
Was export {__experimental_CheckoutButtonProps as CheckoutButtonProps, __experimental_PlanDetailsButtonProps as PlanDetailsButtonProps, __experimental_SubscriptionDetailsButtonProps as SubscriptionDetailsButtonProps} from '@clerk/types'... npmjs.com - Signature changed
GoogleOneTap
Was const GoogleOneTap: {(props: Without<WithClerkProp<_clerk_types.SignInForceRedirectUrl & _clerk_types.SignUpForceRedirectUrl & {cancelOnTapOutside?: boolean; itpSupport?: boolean; fedCmSupport?: boolean; appearance?... npmjs.com - Signature changed
PricingTable
Was const PricingTable: {(props: Without<WithClerkProp<{for?: _clerk_types.ForPayerType; appearance?: _clerk_types.PricingTableTheme; checkoutProps?: Pick<_clerk_types.__internal_CheckoutProps, "appearance">;} & {ctaPosition?: "top" |... npmjs.com - Signature changed
RedirectToCreateOrganization
Was const RedirectToCreateOrganization: {(props: _clerk_types.Without<{clerk: _clerk_types.LoadedClerk; component?: string;}, "clerk">): React.JSX.Element | null; displayName: string;}; now const RedirectToCreateOrganization: {(props... npmjs.com
And 9 more in this version.
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