Skip to content

Plugins

26 plugins ship with the package under better_auth.plugins_ext. Each one is a class; pass instances to BetterAuth(plugins=[...]).

python
from better_auth import BetterAuth
from better_auth.plugins_ext import OrganizationPlugin, TwoFactorPlugin

auth = BetterAuth(
    secret="a-strong-32-character-minimum-secret",
    plugins=[TwoFactorPlugin(issuer="Example"), OrganizationPlugin()],
)

Plugins add routes under base_path, extend the database schema (their tables migrate exactly like the core ones), and hook the request pipeline. Every constructor option mirrors the TypeScript option of the same name in snake_case, with the same default. better_auth.plugins_ext.__all__ is the authoritative list. Each plugin has its own page:

Sign-in methods

Organizations and access control

  • Admin: user administration, bans, impersonation
  • Organization: organizations, members, invitations, teams

Tokens and keys

Being an OAuth server

Federating outward

Session shaping

Abuse prevention

Writing your own

Everything above uses the same public surface your plugin has. See Core concepts.

MIT licensed · API-compatible with better-auth