Fix · Supabase and databases
Email confirmation or reset link is invalid or expired (otp_expired)
Not checked against the vendor's current screens
What you may see
- The user clicks the email link and sees an error right away
- Links work only for me
Most likely cause
The link was already used, is old, or an email program opened it first (a security scanner), which uses it up.
Check first (about two minutes)
- Request a new link and open it at once on the same device.
The fix prompt
What you type here never leaves your browser. The search runs on this page, and nothing is sent to a server or to an AI.
Kept only in this browser, on this device. Keys and passwords are removed before anything is saved.
Prompt language
Paste it into Claude, ChatGPT, Gemini or Cursor, then follow what it says.
After you tried it, did it work?
Steps
- Read the address of the failed link: which error code is in it?
- Make the page show a friendly message with a button to send a new link.
- If scanners use up links, switch to a code the user types, or a button that confirms on the page.
Do not do this
- Do not reuse an old email link.
- Do not make links valid for days.