Skip to content

feat(*): remove keyless bootstrap from astro, nuxt, react-router, and tanstack-react-start - #9487

Draft
djgould wants to merge 1 commit into
dg/keyless-cli/1-remove-bootstrapfrom
dg/keyless-cli/4-sdk-sweep
Draft

feat(*): remove keyless bootstrap from astro, nuxt, react-router, and tanstack-react-start#9487
djgould wants to merge 1 commit into
dg/keyless-cli/1-remove-bootstrapfrom
dg/keyless-cli/4-sdk-sweep

Conversation

@djgould

@djgould djgould commented Aug 18, 2026

Copy link
Copy Markdown

Description

Part 4 of the keyless→CLI stack (#9491#9493#9487#9488), stacked on #9493. Applies the same pattern to the remaining keyless consumers — @clerk/astro, @clerk/nuxt, @clerk/react-router, @clerk/tanstack-react-start:

  • With missing keys, each SDK now fails with CLI-pointing guidance instead of provisioning a keyless application: astro/nuxt surface the parsePublishableKey fatal error from feat(shared): point missing and invalid key errors at the Clerk CLI #9491, and react-router/tanstack surface their existing secret-key errors, now extended with the npx clerk@latest init guidance. No new per-SDK error constants; the now-unused canUseKeyless feature-flag modules are deleted.
  • Removes each SDK's keyless/ service, claim-prompt plumbing (__internal_keyless_* props), and cookie/state sync. The astro/nuxt keyless blocks previously swallowed all errors in a bare catch {}; the new throws sit outside them.
  • react-router/tanstack loadOptions secret-key checks are now unconditional (previously skipped under canUseKeyless).
  • The tanstack keyless integration test was a verbatim react-router copy running in the react-router lane; it now uses the tanstack preset and @tanstack-react-start tag.

@clerk/shared/keyless and the backend accountless API are intentionally untouched — older published SDK versions resolve ^-ranged @clerk/shared and still call them. They are deprecated in the follow-up PR and removed in the next major.

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other: experiment / RFC

🤖 Generated with Claude Code

@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
clerk-js-sandbox Ready Ready Preview Aug 18, 2026 8:43pm
swingset Ready Ready Preview Aug 18, 2026 8:43pm

Request Review

@changeset-bot

changeset-bot Bot commented Aug 18, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 9bb477c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 4 packages
Name Type
@clerk/astro Minor
@clerk/nuxt Minor
@clerk/react-router Minor
@clerk/tanstack-react-start Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new

pkg-pr-new Bot commented Aug 18, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@9487

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@9487

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@9487

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@9487

@clerk/electron

npm i https://pkg.pr.new/@clerk/electron@9487

@clerk/electron-passkeys

npm i https://pkg.pr.new/@clerk/electron-passkeys@9487

@clerk/eslint-plugin

npm i https://pkg.pr.new/@clerk/eslint-plugin@9487

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@9487

@clerk/expo-google-signin

npm i https://pkg.pr.new/@clerk/expo-google-signin@9487

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@9487

@clerk/express

npm i https://pkg.pr.new/@clerk/express@9487

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@9487

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@9487

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@9487

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@9487

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@9487

@clerk/react

npm i https://pkg.pr.new/@clerk/react@9487

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@9487

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@9487

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@9487

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@9487

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@9487

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@9487

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@9487

commit: d7e46e6

… tanstack-react-start

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant