failed to Failed to create user Error [PrismaClientValidationError]

Here's a condensed version under 2000 characters:

---

🐛 Better Auth SignUp Error - Password Missing Despite Existing in Schema

Getting PrismaClientValidationError: Argument 'password' is missing with
auth.api.signUpEmail()
, but password field exists and manual creation works.

Error:
ERROR [Better Auth]: Failed to create user 
Invalid `prisma.user.create()` invocation:
+ password: String
Argument `password` is missing.


Schema:
model User {
  id       String @id @default(cuid())
  name     String
  email    String @unique
  password String    // ← EXISTS
  emailVerified Boolean
  // ... other fields
  @@map("users")
}


Config:
export const auth = betterAuth({
  database: prismaAdapter(prisma, {
    provider: "postgresql"
  }),
  emailAndPassword: {
    enabled: true,
    minPasswordLength: 6
  },
  plugins: [nextCookies()]
});


SignUp Code:
const res = await auth.api.signUpEmail({
  body: {
    email: data.email,
    password: data.password,
    name: `${data.firstname} ${data.lastname}`,
    callbackURL: data.callbackURL
  }
})


This Works (Manual):
await prisma.user.create({
  data: {
    email: data.email,
    password: data.password,
    name: data.firstname,
    emailVerified: true,
  }
})


Why is Better Auth not passing the password field to Prisma when it's clearly in my schema and data? 🙏
Was this page helpful?