# X_AUTH_WRITE_FAILED

## Means

an adapter write returned no row, so it cannot be confirmed

## Typical cause

an `insert … returning *` wrote nothing — the table is missing its migration, or a trigger or RLS policy swallowed the row. Also a write one of `x_users`' own unique constraints refused — a second row at one `email`, `external_id` or `id`, on `createUser` or `updateUser`; `meta.column` names which, and `memoryAuthAdapter()` and `postgresAuthAdapter()` answer the same code (`As of 2026-10`; Postgres answered `X_DB_UNIQUE_VIOLATION` before). Also an OAuth sign-in whose `updateUser` returned no row for the provider-verified stamp (`emailVerifiedNotStored`; `X_NOT_IMPLEMENTED` before `As of 2026-10`) — the flow fails closed rather than sign in a user every later login reads as unverified. This page printed `x db query` until 1.2.0; the `db` subcommands are `gen`, `migrate`, `reset`, `studio`, `branch` and `backfill`

## Fix

`x db migrate`, then confirm the table with `psql "$DATABASE_URL" -c "select 1 from x_users limit 1"`

[Auth and sessions](/error-codes#auth-and-sessions)
