emailOTP plugin ignores the global user.fields.id mapping (e.g., id: "user_id") when using the Postgres adapter in v1.4.1 (and 1.4.0-beta.20). It attempts to query the id column directly, causing a crash if the database uses a custom primary key name.twoFactor), the emailOTP plugin does not expose a schema configuration option, so it is impossible to manually correct the mapping as a workaround (as suggested in issue 4066 ). id column works but is effectively duplicate state.auth_users) to alias user_id -> id as a workaround, but this is heavy-handed.user_id) and no id column.emailOTP plugin.user_id.