Supabase Keycloak 'Account Is Not Fully Set Up' Fix
Fix the supabase keycloak 'Account is not fully set up' error: it is a pending Keycloak required action, not a Supabase misconfiguration. Clear it in under a minute.
Your Supabase Keycloak integration is probably configured correctly. That is the uncomfortable truth behind the "Account is not fully set up" error: the failure everyone debugs in the Supabase dashboard actually lives in the Keycloak user record. Stop regenerating client secrets and re-pasting discovery URLs — the fix is a single dropdown in the Keycloak admin console, and it takes under a minute. If you are still wiring up auth in general, the complete Flutter and Supabase guide is the starting point; this article assumes your custom OIDC provider already exists. *Last updated: 2026-10-10* What the error looks like: supabase keycloak "Account is not fully set up" The flow breaks at the worst possible moment. Your Flutter app opens the Keycloak login page, the user enters valid credentials, Keycloak redirects back — and instead of a session, the app lands on an error screen reading: Account is not fully set up No stack trace, no Supabase error code, nothing in your client logs that points at a cause. The redirect itself worked, the client ID and secret are fine, and the discovery document resolves. That combination — successful redirect, dead login — is the signature of this exact error. Unlike a misconfigured issuer, which fails before Keycloak even shows a login form, this one fails after the user has authenticated. Keycloak accepted the credentials; it just refuses to finish setting up the account. Why it happens: a Keycloak required action is blocking the OIDC callback Keycloak attaches required actions to user records — "Verify Profile", "Verify Email", "Update Password", "Configure OTP". When a user with a pending required action completes the OIDC flow, Keycloak interrupts the token exchange to demand the action first. Supabase's callback has no way to…