While working with Directus, I ran into a challenge: I needed to adjust the fields inside system collections (like directus_users, directus_files, etc.) to better match our workflow UX.
At first, I wasnât sure it was even possible â and I know it sounds a bit hacky
â but it turns out you can customize them! 
Since I couldnât find a clear example, I decided to write my own guide. This also happens to be my very first article about Directus, so I hope it becomes a helpful reference for anyone facing the same challenge.
Check it out here: Customizing Directus Default Fields
Iâd love to hear if youâve tried customizing system collections before â whatâs your experience? Did you take a different approach? Do you see any concerns or risks with this method?
3 Likes
I did try to change the default folder upload for avatar, and it worked but then the field moved at the bottom and it was no longer a system field
Hey @ahmad_quvor, glad you gave it a try! What youâre seeing is expected behavior, since the avatar field is no longer a system field, it has moved to the end of the fieldsâjust like any time you create a new field.
If you want to move it back to its original place, you have two options:
- If you use the same workaround for your other fields, you can fully control their order and organize all fields exactly as you like on the page, but I see thatâs a lot of work for your case.
- Alternatively, you can use an extension like Classified Group. It lets you add a class to the avatar field and easily enforce its order (for example,
order: -1). to position the field at the top of the page.
1 Like
Thanks for this!
It inspired me to find an even easier solution to hide any field of your choice with css. Without depending on data-primary which is not specific to a field. Hereâs how youâd hide tags and description fields for example :
/* Hide specific fileds */
.field[data-collection=âdirectus_usersâ][data-field=âtagsâ],
.field[data-collection=âdirectus_usersâ][data-field=âdescriptionâ]{
display: none !important;
}