CLI
Better Auth comes with a built-in CLI to help you manage the database schemas, initialize your project, and generate a secret key for your application.
Generate
The generate
command creates the schema required by Better Auth. If you're using a database adapter like Prisma or Drizzle, this command will generate the right schema for your ORM. If you're using the built-in Kysely adapter, it will generate an SQL file you can run directly on your database.
Options
--output
- Where to save the generated schema. For Prisma, it will be saved in prisma/schema.prisma. For Drizzle, it goes to schema.ts in your project root. For Kysely, it’s an SQL file saved as schema.sql in your project root.--config
- The path to your Better Auth config file. By default, the CLI will search for a auth.ts file in ./, ./utils, ./lib, or any of these directories undersrc
directory.--y
- Skip the confirmation prompt and generate the schema directly.
Migrate
The migrate command applies the Better Auth schema directly to your database. This is available if you’re using the built-in Kysely adapter. For other adapters, you'll need to apply the schema using your ORM's migration tool.
Options
--config
- The path to your Better Auth config file. By default, the CLI will search for a auth.ts file in ./, ./utils, ./lib, or any of these directories undersrc
directory.--y
- Skip the confirmation prompt and apply the schema directly.
Init
The init
command allows you to initialize Better Auth in your project.
Options
--name
- The name of your application. (Defaults to yourpackage.json
'sname
property.)--framework
- The framework your codebase is using. Currently, the only supported framework isnextjs
.--plugins
- The plugins you want to use. You can specify multiple plugins by separating them with a comma.--database
- The database you want to use. Currently, the only supported database issqlite
.--package-manager
- The package manager you want to use. Currently, the only supported package managers arenpm
,pnpm
,yarn
,bun
. (Defaults to the manager you used to initialize the CLI.)
Secret
The CLI also provides a way to generate a secret key for your Better Auth instance.
Common Issues
Error: Cannot find module X
If you see this error, it means the CLI can’t resolve imported modules in your Better Auth config file. We're working on a fix for many of these issues, but in the meantime, you can try the following:
- Remove any import aliases in your config file and use relative paths instead. After running the CLI, you can revert to using aliases.