you should extend from django.contrib.auth.admin.UserAdmin instead of ModelAdmin That class already defines the proper filter_horizontal, fieldsets, and add_fieldsets
reference : https://docs.djangoproject.com/en/5.2/topics/auth/customizing/#a-full-example
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from .models import User
@admin.register(User)
class UserAdmin(BaseUserAdmin):
pass