Features
User Management
Admin panel, user roles, and impersonation powered by Better Auth.
Docs are in beta — content is improving rapidly. Found something missing? Open an issue on GitHub or reach out on Twitter.
BetterStarter includes a full admin panel for managing users and their access.
What's Included
- Admin panel at
/admin— view all users, manage roles, manage billing - Roles —
user(default) andadmin - Impersonation — admins can sign in as any user to debug issues
- Impersonation banner — visible banner shown when impersonating a user
Roles
Every user has a role field (added by Better Auth's admin plugin):
| Role | Access |
|---|---|
user | Standard access |
admin | Access to /admin, can manage users, can impersonate |
To make a user an admin, update their role in the admin panel or directly in the database.
Protecting Admin Routes
const loader = async () => {
const user = await getCurrentUser()
if (user?.role !== 'admin') {
throw notFound()
}
return { user }
}Impersonation
Admins can impersonate any user from the admin panel. While impersonating:
- A yellow banner is shown at the top of the app
- All actions are performed as the impersonated user
- Click Stop Impersonating in the banner to return to your own session
This is useful for debugging user-reported issues without needing their credentials.
Account Page
Users manage their own profile and connected accounts at /account.