@clerk/shared breaking changes
Every breaking API change we have recorded in @clerk/shared on npm: 322 breaking changes in 30 versions. Below are its newest 6 versions, removals and renames first, each with its source.
Newest change March 20, 2026

On this page
3.47.3
- Signature changed
types:ActiveSessionResource.touch
Was touch: () => Promise<SessionResource>; now touch: (params?: SessionTouchParams) => Promise<SessionResource>. npmjs.com - Signature changed
types:PendingSessionResource.touch
Was touch: () => Promise<SessionResource>; now touch: (params?: SessionTouchParams) => Promise<SessionResource>. npmjs.com - Signature changed
types:SessionResource.touch
Was touch: () => Promise<SessionResource>; now touch: (params?: SessionTouchParams) => Promise<SessionResource>. npmjs.com
3.47.1
- Signature changed
react:useSafeLayoutEffect
Was const useSafeLayoutEffect: typeof React.useLayoutEffect; now const useSafeLayoutEffect: typeof React.useEffect. npmjs.com
3.47.0
- Signature changed
react:useSafeLayoutEffect
Was const useSafeLayoutEffect: typeof React.useEffect; now const useSafeLayoutEffect: typeof React.useLayoutEffect. npmjs.com - Signature changed
types:__internal_LocalizationResource
Was type __internal_LocalizationResource = {locale: string; maintenanceMode: LocalizationValue; roles: {[r: string]: LocalizationValue;}; socialButtonsBlockButton: LocalizationValue<'provider'>; socialButtonsBlockButtonManyInView... npmjs.com - Signature changed
types:__internal_LocalizationResource.billing
Was billing: {month: LocalizationValue; year: LocalizationValue; free: LocalizationValue; getStarted: LocalizationValue; manage: LocalizationValue; manageSubscription: LocalizationValue; cancelSubscription: LocalizationValue... npmjs.com - Signature changed
types:__internal_LocalizationResource.organizationProfile
Was organizationProfile: {navbar: {title: LocalizationValue; description: LocalizationValue; general: LocalizationValue; members: LocalizationValue; billing: LocalizationValue; apiKeys: LocalizationValue;}; badge__unverified... npmjs.com - Signature changed
types:__internal_LocalizationResource.organizationProfile.billingPage
Was billingPage: {title: LocalizationValue; start: {headerTitle__payments: LocalizationValue; headerTitle__plans: LocalizationValue; headerTitle__subscriptions: LocalizationValue; headerTitle__statements: LocalizationValue;}... npmjs.com - Signature changed
types:__internal_LocalizationResource.organizationProfile.billingPage.statementsSection
Was statementsSection: {empty: LocalizationValue; itemCaption__paidForPlan: LocalizationValue<'plan' | 'period'>; itemCaption__proratedCredit: LocalizationValue; itemCaption__subscribedAndPaidForPlan: LocalizationValue<'plan' | 'period'>... npmjs.com - Signature changed
types:__internal_LocalizationResource.userProfile
Was userProfile: {mobileButton__menu: LocalizationValue; formButtonPrimary__continue: LocalizationValue; formButtonPrimary__save: LocalizationValue; formButtonPrimary__finish: LocalizationValue; formButtonPrimary__remove... npmjs.com - Signature changed
types:__internal_LocalizationResource.userProfile.billingPage
Was billingPage: {title: LocalizationValue; start: {headerTitle__payments: LocalizationValue; headerTitle__plans: LocalizationValue; headerTitle__subscriptions: LocalizationValue; headerTitle__statements: LocalizationValue;}... npmjs.com - Signature changed
types:__internal_LocalizationResource.userProfile.billingPage.statementsSection
Was statementsSection: {empty: LocalizationValue; itemCaption__paidForPlan: LocalizationValue; itemCaption__proratedCredit: LocalizationValue; itemCaption__subscribedAndPaidForPlan: LocalizationValue; notFound: LocalizationValue... npmjs.com - Signature changed
types:LocalizationResource.billing
Was billing: {month: LocalizationValue; year: LocalizationValue; free: LocalizationValue; getStarted: LocalizationValue; manage: LocalizationValue; manageSubscription: LocalizationValue; cancelSubscription: LocalizationValue... npmjs.com
And 2 more in this version.
3.46.0
- Signature changed
apiUrlFromPublishableKey
Was const apiUrlFromPublishableKey: (publishableKey: string) => "https://api.lclclerk.com" | "https://api.clerkstage.dev" | "https://api.clerk.com"; now const apiUrlFromPublishableKey: (publishableKey: string) => "https://api.clerk.com" |... npmjs.com - Signature changed
types:__internal_LocalizationResource
Was type __internal_LocalizationResource = {locale: string; maintenanceMode: LocalizationValue; roles: {[r: string]: LocalizationValue;}; socialButtonsBlockButton: LocalizationValue<'provider'>; socialButtonsBlockButtonManyInView... npmjs.com - Signature changed
types:__internal_LocalizationResource.billing
Was billing: {month: LocalizationValue; year: LocalizationValue; free: LocalizationValue; getStarted: LocalizationValue; manage: LocalizationValue; manageSubscription: LocalizationValue; cancelSubscription: LocalizationValue... npmjs.com - Signature changed
types:Appearance
Was type Appearance<T$1 = Theme> = T$1 & GlobalAppearanceOptions & {signIn?: T$1; signUp?: T$1; userAvatar?: T$1; userButton?: T$1; userProfile?: T$1; userVerification?: T$1; organizationSwitcher?: T$1; organizationList?: T$1... npmjs.com - Signature changed
types:ElementsConfig
Was type ElementsConfig = {button: WithOptions<string>; input: WithOptions; checkbox: WithOptions; radio: WithOptions; table: WithOptions; rootBox: WithOptions; cardBox: WithOptions; card: WithOptions; actionCard: WithOptions; popoverBox... npmjs.com - Signature changed
types:LocalizationResource.billing
Was billing: {month: LocalizationValue; year: LocalizationValue; free: LocalizationValue; getStarted: LocalizationValue; manage: LocalizationValue; manageSubscription: LocalizationValue; cancelSubscription: LocalizationValue... npmjs.com - Signature changed
types:SessionTask.key
Was key: 'choose-organization' | 'reset-password'; now key: 'choose-organization' | 'reset-password' | 'setup-mfa'. npmjs.com - Signature changed
types:SignUpData
Was type SignUpData = {allowlist_only: boolean; progressive: boolean; captcha_enabled: boolean; mode: SignUpModes; legal_consent_enabled: boolean;}; now type SignUpData = {allowlist_only: boolean; progressive: boolean; captcha_enabled... npmjs.com
3.45.1
- Signature changed
apiUrlFromPublishableKey
Was const apiUrlFromPublishableKey: (publishableKey: string) => "https://api.clerk.com" | "https://api.lclclerk.com" | "https://api.clerkstage.dev"; now const apiUrlFromPublishableKey: (publishableKey: string) => "https://api.lclclerk.com"... npmjs.com
3.45.0
- Signature changed
react:useSafeLayoutEffect
Was const useSafeLayoutEffect: typeof React.useLayoutEffect; now const useSafeLayoutEffect: typeof React.useEffect. npmjs.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