Auth.js · browser URL
error=Verification
/api/auth/error?error=VerificationWhat it means
The magic-link token wasn't found or has expired. Each link works once, and the email provider's default lifetime is 24 hours.
Common causes
- The link was clicked twice, or a newer link replaced it
- The link is older than 24 hours
- The verification token was written to a different database than the one the app reads now
How to fix it
- Ask the user to request a new link, and say so on the error page
- Make sure dev and prod don't share or swap DATABASE_URL
- Raise maxAge on the email provider only if you have a reason to
Prompt for Cursor or Claude Code
Magic-link sign-in lands on error=Verification. Check my email provider config, the VerificationToken table and DATABASE_URL per environment, and add a 'request a new link' message for this error.Not quite your error? Paste yours into the free VibeBoot Doctor or browse the Auth.js error fixer.
next: skip the next one
Skip the setup. The VibeBoot SaaS Starter ships Auth.js v5 already wired (GitHub sign-in, optional email magic links, Prisma adapter), plus Stripe and a database on Next.js 16.4.3. $49, one-time.
14-day money-back guarantee · lifetime updates
Other Auth.js errors
$ fixed it? get the next one first
New fixes for what AI agents break, by email.
When we add a fix or a Cursor rule for a new Next.js, Auth.js, Prisma or Stripe break, it goes out in the VibeBoot newsletter. Free, occasional, unsubscribe in one click.