ERROR [Better Auth]: Failed to create user TypeError: value.map is not a function

I previously only had social sign in enabled, now I just enabled email/password but I get this error when trying to sign up. I am not exactly sure why this happens. I am using express + react

Entire log
info: server running on 0.0.0.0:3030... {"timestamp":"2025-08-19T07:17:13.154Z"}
2025-08-19T07:17:16.551Z ERROR [Better Auth]: Failed to create user TypeError: value.map is not a function
    at PgArray.mapToDriverValue (/Users/lufy/Developer/work/meerkat/backend/node_modules/src/pg-core/columns/common.ts:343:19)
    at <anonymous> (/Users/lufy/Developer/work/meerkat/backend/node_modules/src/sql/sql.ts:238:69)
    at Array.map (<anonymous>)
    at SQL.buildQueryFromSourceParams (/Users/lufy/Developer/work/meerkat/backend/node_modules/src/sql/sql.ts:163:30)
    at <anonymous> (/Users/lufy/Developer/work/meerkat/backend/node_modules/src/sql/sql.ts:185:17)
    at Array.map (<anonymous>)
    at SQL.buildQueryFromSourceParams (/Users/lufy/Developer/work/meerkat/backend/node_modules/src/sql/sql.ts:163:30)
    at <anonymous> (/Users/lufy/Developer/work/meerkat/backend/node_modules/src/sql/sql.ts:189:17)
    at Array.map (<anonymous>)
    at SQL.buildQueryFromSourceParams (/Users/lufy/Developer/work/meerkat/backend/node_modules/src/sql/sql.ts:163:30)
http: POST /api/auth/sign-up/email 422 220.596 ms - - {"timestamp":"2025-08-19T07:17:16.555Z"}


It mentions about PgArray, is it because of the additional roles field of type string[] that I added to
users
model? If so, why does it not error for social sign in then?

export const auth = betterAuth({
   // ...

  user: {
    modelName: "usersTable",
    additionalFields: {
      roles: { type: "string[]", defaultValue: () => ["guest"], input: false },
      description: { type: "string", input: false },
      address: { type: "string", input: false },
    },
  },
  // ...
});
Was this page helpful?