# Diagnose: user already exists
## Symptom
Signup returns "user already exists" yet password login fails, or the user has two accounts behaving differently.
## Likely causes
1. The email exists on a different connection: signed up with Google, now trying database signup. Same email, separate identities.
2. Case or whitespace variance created a near-duplicate.
3. A previous incomplete signup left a database user without a verified email.
## Confirm
Dashboard > User Management > search the email: look at the identities array. Two entries (e.g. `google-oauth2` and `auth0` database) = duplicate identities. Check `email_verified` on each.
Management API `GET /api/v2/users-by-email?email=` shows all identities for the email in one call.
## Fix
- Link the accounts: Management API link endpoint with the primary user_id and the secondary identity. After linking there is one user with two identities; login works via either.
- Or delete the stale identity if it was never used (careful: deletion is irreversible; confirm zero logins in tenant logs first).
- Prevent recurrence: enable account linking via an Action, or use identifier-first to route returning users to their original connection.
## Verify
One user record, identities array containing both connections, successful logins via each method in the tenant logs.