Makes the Zod schema the single source of truth for OpenAPI docs. Adds `response` and `errors` fields on `createAuthEndpoint` options so the schema you already declare drives the generated spec. Default emission is OpenAPI 3.1. Migrates all 31 core auth routes to delete the hand-written metadata.openapi.requestBody/parameters/responses blocks in favor of `response` Zod schemas and explicit `errors` arrays. A transitional fallback keeps unmigrated first-party plugins working (legacy OAS 3.0 `nullable: true` is auto-upgraded to 3.1 unions); it will be removed as per-plugin migration PRs land. Closes drift cases surfaced by the audit: /sign-in/social required fields mismatch, /sign-up/email missing AdditionalUserFieldsInput, invalid `nullable: true` on OAS 3.1 (#6691), $ref + sibling keys in 3.0 output.
Better Auth
The most comprehensive authentication framework for TypeScript
Learn more »
Discord
·
Website
·
Issues
About the Project
Better Auth is framework-agnostic authentication (and authorization) library for TypeScript. It provides a comprehensive set of features out of the box and includes a plugin ecosystem that simplifies adding advanced functionalities with minimal code in a short amount of time. Whether you need 2FA, multi-tenant support, or other complex features. It lets you focus on building your actual application instead of reinventing the wheel.
Why Better Auth
Authentication in the TypeScript ecosystem is a half-solved problem. Other open-source libraries often require a lot of additional code for anything beyond basic authentication. Rather than just pushing third-party services as the solution, I believe we can do better as a community—hence, Better Auth.
Contribution
Better Auth is a free and open source project licensed under the MIT License. You are free to do whatever you want with it.
You could help continuing its development by:
Security
If you discover a security vulnerability within Better Auth, please send an e-mail to security@better-auth.com.
All reports will be promptly addressed, and you'll be credited accordingly.
