Skip to content

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

Draft
djgould wants to merge 4 commits 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 4 commits 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#9492#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:

  • In development with missing keys, each SDK now throws a code=missing_env_keys error pointing at npx clerk@latest init (naming its framework-specific env vars, with npx clerk@latest deploy / env pull --instance prod guidance for production) instead of provisioning a keyless application. Same unified message in every environment, matching feat(nextjs): point missing and invalid key errors at the Clerk CLI #9492.
  • 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:11pm
swingset Ready Ready Preview Aug 18, 2026 8:11pm

Request Review

@changeset-bot

changeset-bot Bot commented Aug 18, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: a2d78ee

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

djgould and others added 4 commits August 18, 2026 13:01
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Squashed from the original four commits of this PR (bootstrap removal, import
sort, adversarial-review findings, non-interactive CLI wording) during the
simple-first stack reorder.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… 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