You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[@clerk/react-router] sign-in initiated SSO with legal compliance enabled fails on complete-sign-up when signUp.update({ legalAccepted: true }) is called #8338
I have not already reached out to Clerk support via email or Discord (if you have, no need to open an issue here)
This issue is not a question, general help request, or anything other than a bug report directly related to Clerk. Please ask questions in our Discord community: https://clerk.com/discord.
Enable Google SSO and legal compliance in Clerk for the publishable key above.
Open the live repro.
Go to /sign-in.
Click Continue with Google (future).
Use a Google account that does not already exist in this Clerk instance.
After the OAuth callback, Clerk transfers the attempt into sign-up and routes to /sign-up/complete/future.
Fill in first name and last name, check the legal acceptance checkbox, and submit.
Observe that the request made by signUp.update(...) targets the client sign-up collection endpoint without a sign-up ID and fails with 405 Method Not Allowed.
The repro now also includes a control flow:
Repeat the same steps with Continue with Google (legacy), which routes to /sign-up/complete/legacy.
That page uses clerk.client.signUp.update(...) instead of signUp.update(...), so the repro exposes both the new and legacy update paths side-by-side.
Expected behavior:
The continued sign-up flow should accept legalAccepted: true and proceed normally.
More specifically, signUp.update(...) in the custom sign-up continuation flow should update the current sign-up attempt using an ID-aware sign-up endpoint, not the collection endpoint.
Actual behavior:
On the future flow, the request sent by signUp.update(...) does not include a sign-up ID in the path. It hits the collection endpoint shape instead:
PATCH /v1/client/sign_ups?...&_method=PATCH
instead of an ID-specific endpoint shape:
PATCH /v1/client/sign_ups/{sign_up_id}
The result is:
405 Method Not Allowed
and the browser UI then throws:
Failed to execute 'json' on 'Response': Unexpected end of JSON input
The repro now isolates this to the new sign-up completion path by exposing two flows:
future: uses signUp.update(...)
legacy: uses clerk.client.signUp.update(...)
The issue is specifically on the future flow. The legacy flow is included as a control for direct comparison.
Activity
pjsny commentedon Apr 20, 2026
Seeing this on
@clerk/nextjs@7.2.3triggered by oauth transfer even without legal compliance enablededit we have legal compliance enabled- same cause though we are updating the name fields of the user rather than the
legalAcceptedparameterchrf01 commentedon Apr 24, 2026
I've the same issue in my signUpIfMissing flow updating the name fields
fix(js): preserve SignUpFuture reference across SSO-to-sign-up transi…
Record the dev verification of Clerk legal consent