Skip to main content
Better Auth ships a CLI that helps you generate database schemas, apply migrations, initialise projects, and gather diagnostic information.
npx auth@latest <command> [options]

generate

Generates the schema required by Better Auth for your database adapter.
  • Prisma — appends models to prisma/schema.prisma
  • Drizzle — writes a schema.ts file in your project root
  • Kysely — writes a raw schema.sql file in your project root
npx auth@latest generate

Options

FlagDescription
--output <path>Override where the generated file is saved
--config <path>Path to your Better Auth config file
--yesSkip the confirmation prompt
By default the CLI searches for an auth config file (auth.ts) in ./, ./utils, ./lib, and the same directories under src/.

migrate

Applies the Better Auth schema directly to your database. Only available when using the built-in Kysely adapter. For Prisma, Drizzle, or other ORMs use their own migration tooling after running generate.
npx auth@latest migrate

Options

FlagDescription
--config <path>Path to your Better Auth config file
--yesSkip the confirmation prompt
PostgreSQL non-default schema: The migrate command automatically detects your configured search_path and creates tables in the correct schema. See the PostgreSQL adapter docs for configuration details.

init

Bootstraps a Better Auth configuration file in an existing project.
npx auth@latest init

Options

FlagDescription
--name <name>Application name (defaults to name in package.json)
--framework <framework>Framework preset (next)
--plugins <list>Comma-separated list of plugins to include
--database <db>Database preset (sqlite)
--package-manager <pm>Package manager to use: npm, pnpm, yarn, or bun

secret

Generates a cryptographically random secret suitable for the BETTER_AUTH_SECRET environment variable.
npx auth@latest secret
You can also generate a secret using OpenSSL directly:
openssl rand -base64 32

info

Prints diagnostic information about your Better Auth setup. Useful for debugging and including in bug reports.
npx auth@latest info

Output includes

  • System — OS, CPU, memory, Node.js version
  • Package manager — detected manager and version
  • Better Auth — installed version and config (sensitive values auto-redacted)
  • Frameworks — detected frameworks (Next.js, React, Vue, etc.)
  • Databases — detected ORM clients (Prisma, Drizzle, etc.)

Options

FlagDescription
--config <path>Path to your Better Auth config file
--jsonOutput as JSON for sharing or programmatic use
# JSON output for sharing
npx auth@latest info --json > auth-info.json
Secrets, API keys, and database URLs are automatically replaced with [REDACTED] in the output.

mcp

Adds the Better Auth MCP (Model Context Protocol) server to your AI coding assistant. This enables AI tools like Claude Code, Cursor, or Open Code to understand Better Auth APIs and help you implement authentication.
npx auth@latest mcp [options]

Options

FlagDescription
--claude-codeAdd Better Auth MCP to Claude Code
--cursorAdd Better Auth MCP to Cursor
--open-codeAdd Better Auth MCP to Open Code
--manualPrint manual MCP configuration instructions
npx auth@latest mcp --claude-code

upgrade

Upgrades Better Auth and its related packages to the latest version.
npx auth@latest upgrade

Troubleshooting

Error: Cannot find module X

The CLI cannot resolve imported modules in your config file. Try these steps:
  1. Remove import aliases and use relative paths instead.
  2. Run the CLI command.
  3. Revert to using aliases.
This is a known limitation and is being worked on.