---
name: "@better-auth-ui"
slug: "better-auth-ui"
description: "Drop-in authentication components for Better Auth applications."
category: "AI/chat UI"
tags: ["ai", "auth", "buttons", "dashboard", "forms", "media", "payments", "pro-available", "theming"]
framework: "react"
license: "MIT"
author: "better-auth-ui"
website: "https://better-auth-ui.com"
github: "https://github.com/better-auth-ui/better-auth-ui"
registry: "https://better-auth-ui.com/r/registry/registry.json"
pro: true
pro_url: "https://better-auth-ui.com/pricing"
github_stars: 1706
component_count: 54
generated_at: "2026-09-05T09:50:59.044Z"
---

# @better-auth-ui

Drop-in authentication components for Better Auth applications.

## Links

- Website: https://better-auth-ui.com
- GitHub: https://github.com/better-auth-ui/better-auth-ui
- Registry JSON: https://better-auth-ui.com/r/registry/registry.json
- Directory page: https://sh4dcn.vercel.app/registry/better-auth-ui
- This file: https://sh4dcn.vercel.app/md/better-auth-ui.md
- Pro / pricing: https://better-auth-ui.com/pricing

## Install

```sh
# add the whole registry (shadcn CLI)
npx shadcn@latest add https://better-auth-ui.com/r/registry/registry.json
pnpm dlx shadcn@latest add https://better-auth-ui.com/r/registry/registry.json
bunx shadcn@latest add https://better-auth-ui.com/r/registry/registry.json
# clone the source repo
git clone https://github.com/better-auth-ui/better-auth-ui.git
# fetch the raw registry index
curl -s https://better-auth-ui.com/r/registry/registry.json
```

## Components (54)

| name | type | description | install |
| --- | --- | --- | --- |
| auth-provider | registry:component | Wraps the Better Auth UI provider and mounts an ErrorToaster that surfaces query and mutation failures via sonner. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/auth-provider.json` |
| additional-field | registry:component | Renders a configured additional user field on the sign-up form and user profile, with support for string, number, boolean, date, datetime, select, combobox, sl… | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/additional-field.json` |
| sign-in | registry:component | A complete sign-in form component with email/password and social provider support. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/sign-in.json` |
| anonymous | registry:component | Adds a Continue as guest button backed by Better Auth's anonymous plugin. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/anonymous.json` |
| agent-auth | registry:component | Capability approval and grant revocation UI for Better Auth Agent Auth. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/agent-auth.json` |
| sso | registry:component | Discovers organization SSO from an email address and manages organization identity providers and domain verification. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/sso.json` |
| last-login-method | registry:component | Adds a localized last-used indicator to email and social sign-in methods tracked by Better Auth. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/last-login-method.json` |
| one-tap | registry:item | Updates the authentication surfaces with the headless prompt slot used by the Google One Tap UI plugin. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/one-tap.json` |
| sign-up | registry:component | A complete sign-up form component with name, email, password fields, and social provider support. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/sign-up.json` |
| email-otp | registry:component | Email OTP plugin: passwordless sign-in with an emailed code, plus code-based replacements for email verification, password reset, and email changes. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/email-otp.json` |
| phone-number | registry:component | Phone-number plugin with verification-code and password sign-in, password recovery, and verified phone-number management. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/phone-number.json` |
| magic-link | registry:component | Magic-link plugin: passwordless email sign-in form, toggle button between password and magic-link routes, and the AuthPlugin scaffolding that registers the vie… | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/magic-link.json` |
| billing | registry:component | Provider-neutral plans, subscription, portal, seats, cancellation, restoration, and usage settings with Stripe and Polar adapters. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/billing.json` |
| dash | registry:component | Filtered personal, organization, and administrator audit logs backed by Better Auth Infrastructure Dash. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/dash.json` |
| oauth-provider | registry:component | OAuth Provider plugin: authorization screens, connected applications, and personal or organization OAuth client management. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/oauth-provider.json` |
| device-authorization | registry:component | Device authorization plugin: code entry, sign-in continuation, and approve or deny actions for Better Auth device requests. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/device-authorization.json` |
| username | registry:component | Username plugin: username-based sign-in form and availability checking field. Registers a sign-in view that accepts both username and email, and a username fie… | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/username.json` |
| passkey | registry:component | Passkey plugin: WebAuthn sign-in button and passkey management card. Registers a passkey sign-in button on the sign-in form and a Passkeys security card in acc… | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/passkey.json` |
| siwe | registry:component | ERC-4361 wallet sign-in with optional email collection and server-authorized wallet account management. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/siwe.json` |
| two-factor | registry:component | Two-factor plugin: the post-password challenge for authenticator, emailed, and backup codes, plus the settings card for enrollment and backup-code management. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/two-factor.json` |
| api-key | registry:component | API Key plugin: list, create, copy, and revoke API keys. Registers an API Keys security card in account settings. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/api-key.json` |
| admin | registry:component | Static administration shell with user management, a user inspector, session controls, and the stop-impersonating action. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/admin.json` |
| multi-session | registry:component | Multi-session plugin: Enable multiple concurrent sessions with account switching. Registers account management cards in account settings and a switch account s… | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/multi-session.json` |
| organization | registry:component | Organization plugin: multi-tenant organization management with members, invitations, and roles. Registers direct invitation acceptance, an organizations settin… | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/organization.json` |
| theme | registry:component | Theme plugin: theme-library agnostic theme selection. Registers an Appearance card in account settings and a theme toggle in the user button. Pass `useTheme` f… | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/theme.json` |
| delete-user | registry:component | Delete-user plugin: danger zone with DeleteAccount card and confirmation dialog. Registers a DangerZone security card in account settings when the plugin is re… | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/delete-user.json` |
| forgot-password | registry:component | A form component for requesting a password reset link via email. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/forgot-password.json` |
| reset-password | registry:component | A form component for resetting password with a token from the URL. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/reset-password.json` |
| verify-email | registry:component | A page prompting the user to verify their email, with a button to open their email provider and a resend button rate-limited by a cooldown timer. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/verify-email.json` |
| auth-redirect | registry:component | A session-aware redirect view that safely continues authenticated users to a same-origin target or sends them through sign in first. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/auth-redirect.json` |
| sign-out | registry:component | A component that signs the user out when mounted and displays a loading state. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/sign-out.json` |
| auth | registry:component | A unified authentication component that renders the appropriate auth view based on path or view prop. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/auth.json` |
| user-avatar | registry:component | Renders the current user's avatar using session data. Shows a skeleton while loading and falls back to initials when no image is available. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/user-avatar.json` |
| user-view | registry:component | Renders a user view that shows the user's avatar alongside their name and email. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/user-view.json` |
| user-button | registry:component | Renders a user button with dropdown menu showing user info, settings link, plugin-contributed menu items (e.g. theme toggle, account switcher), and sign-in/sig… | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/user-button.json` |
| user-profile | registry:component | A form component for editing user profile information including name and avatar. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/user-profile.json` |
| change-email | registry:component | A form component for changing the user's email address with verification. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/change-email.json` |
| account-settings | registry:component | A container component that displays account settings including user profile, change email, and plugin-contributed account cards (e.g. appearance from the theme… | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/account-settings.json` |
| change-password | registry:component | A form component for users to change their password with current password verification. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/change-password.json` |
| linked-accounts | registry:component | Display and manage linked social accounts. Shows all linked social accounts with the ability to unlink them, followed by available providers that can be linked. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/linked-accounts.json` |
| active-sessions | registry:component | Display and manage all active sessions for the current user with revoke controls. Shows each session's browser, OS, and creation time. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/active-sessions.json` |
| security-settings | registry:component | A container component that displays security settings including password management, linked accounts, plugin-contributed security cards (e.g. passkeys), active… | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/security-settings.json` |
| settings | registry:component | A unified settings component that renders the appropriate settings view based on path or view prop with tab navigation. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/settings.json` |
| email-verification-email | registry:component | Email template component that sends email verification links to users. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/email-verification-email.json` |
| magic-link-email | registry:component | Email template component that sends magic link authentication emails for passwordless sign-in. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/magic-link-email.json` |
| reset-password-email | registry:component | Email template component that sends password reset links to users. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/reset-password-email.json` |
| change-email-confirmation-email | registry:component | Email template component for approving an email address change from the current address. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/change-email-confirmation-email.json` |
| delete-account-verification-email | registry:component | Email template component for verifying a permanent account deletion request. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/delete-account-verification-email.json` |
| password-changed-email | registry:component | Email template component that notifies users when their password has been changed. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/password-changed-email.json` |
| email-changed-email | registry:component | Email template component that notifies users when their email address has been changed. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/email-changed-email.json` |
| otp-email | registry:component | Email template component that sends one-time password (OTP) verification codes to users. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/otp-email.json` |
| new-device-email | registry:component | Email template component that notifies users when a new device signs in to their account. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/new-device-email.json` |
| organization-invitation-email | registry:component | Email template component that invites a user to join an organization. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/organization-invitation-email.json` |
| all | registry:item | Installs every Better Auth UI component, plugin, and email template in one shot. | `npx shadcn@latest add https://better-auth-ui.com/r/{style}/all.json` |

## For AI agents

```text
You are adding components from @better-auth-ui to a shadcn-compatible project.
1. Read this file (https://sh4dcn.vercel.app/md/better-auth-ui.md) for the component list.
2. Fetch the machine-readable index: https://better-auth-ui.com/r/registry/registry.json
3. Install a single component with its install command from the table above.
4. Full structured record: https://sh4dcn.vercel.app/json (library slug: better-auth-ui).
```
