Stop logging in and out to test roles and permissions. A development-only panel for Better Auth that spawns managed test users and switches sessions instantly, right inside your app.
Current session
admin@acme.test
role: admin
Test users
3live preview · click a user to switch
Built for the inner loop — the fast, repeatable checks you run dozens of times a day while building auth-gated features.
Spin up test accounts from templates you define. Keep real users out of your everyday auth checks.
Jump into any managed user in one click. The app reloads against the new Better Auth session.
{ "user": { "role": "admin" } }
Read the exact session your app exposes — user fields plus approved metadata.
Edit only the fields you explicitly allow, then refresh with the updated auth state.
Stable roles like Admin, Editor, and Viewer make auth-gated UI easy to verify — every time.
On in development, off in production, with an explicit kill switch you control.
One server plugin and one zero-prop React component. No client plugin, no server-to-client wiring.
import { betterAuth } from "better-auth";
import { devtools } from "better-auth-devtools";
export const auth = betterAuth({
database,
plugins: [devtools({ enabled: true })],
});"use client";
import { BetterAuthDevtools } from "better-auth-devtools/react";
export function DevtoolsWrapper() {
return <BetterAuthDevtools />;
}Explicitly enabled for development. Production stays disabled. After adding it, run npx auth@latest migrate to apply the schema.
Install the package, add the plugin, and switch between managed test users in one click.