Server session API types don't get inferred for the user additionalFields

better-auth: ^1.4.6

import type { BetterAuthOptions } from "better-auth";
import { customSession } from "better-auth/plugins";

export const authConfig: BetterAuthOptions = {
  emailAndPassword: {
    enabled: true,
  },
  session: {
    cookieCache: {
      enabled: true,
      maxAge: 5 * 60,
    },
  },
  user: {
    additionalFields: {
      role: {
        type: "string",
        input: false,
        returned: true,
      },
    },
  },
  plugins: [
    customSession(async ({ user, session }) => {
      return {
        user: {
          ...user,
          role: (user as any).role as string,
        },
        session,
      };
    }),
  ],
};
Image_2025-12-12_03-50-34_yfk1yhf0.3mo.png
Was this page helpful?