Skip to content

Plugins ​

27 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