Forum Discussion
Document libraries - Force users to upload content via the new Forms method only
- Jan 12, 2026
Microsoft’s new Forms‑based upload experience for document libraries is designed as an additional way to collect files with metadata, not as a replacement for the classic Upload button.
AFAIK: As of now, Microsoft has not announced any plan to disable or replace the standard Upload button. The classic Upload button remains a core, non‑removable part of the document library UI.
Although you cannot disable Upload using out‑of‑the‑box settings, you can hide it using JSON command bar customization
This is the only supported workaround. You can apply JSON formatting to a library view to hide specific built‑in commands.
Example JSON to hide New + Upload:
{ "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/row-formatting.schema.json", "commandBarProps": { "commands": [ { "key": "newComposite", "hide": true }, { "key": "UploadCommand", "hide": true } ] } }Important notes:
- This must be applied per view
- If you want the entire library locked down, apply it to all views
- Users with Manage Lists permission can still edit/remove the JSON
- This does not remove the Upload capability from APIs or sync clients
- If a user has the ability to edit list settings or create a new view, they can still see the New button in their personal view or any new view where the JSON formatting is not applied.
If my post solved your issue or answered your query, please mark it as a Solution and give it a Like.
Microsoft’s new Forms‑based upload experience for document libraries is designed as an additional way to collect files with metadata, not as a replacement for the classic Upload button.
AFAIK: As of now, Microsoft has not announced any plan to disable or replace the standard Upload button. The classic Upload button remains a core, non‑removable part of the document library UI.
Although you cannot disable Upload using out‑of‑the‑box settings, you can hide it using JSON command bar customization
This is the only supported workaround. You can apply JSON formatting to a library view to hide specific built‑in commands.
Example JSON to hide New + Upload:
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/v2/row-formatting.schema.json",
"commandBarProps": {
"commands": [
{
"key": "newComposite",
"hide": true
},
{
"key": "UploadCommand",
"hide": true
}
]
}
}Important notes:
- This must be applied per view
- If you want the entire library locked down, apply it to all views
- Users with Manage Lists permission can still edit/remove the JSON
- This does not remove the Upload capability from APIs or sync clients
- If a user has the ability to edit list settings or create a new view, they can still see the New button in their personal view or any new view where the JSON formatting is not applied.
If my post solved your issue or answered your query, please mark it as a Solution and give it a Like.
Thanks for the answer. I'm marking as solved, even though I hope they will at least offer a way to add a secondary upload button or something similar to the toolbar, so that this new upload method would feel more integrated to the current system.