SharePoint Upload Failed
Resolution Checklist
- 1 Diagnose required columns and validation rules
- 2 Resolve co-authoring conflicts and local file locks
- 3 Reset OneDrive desktop client caches
- 4 Bypass client using PnP PowerShell or MS Graph API
- 5 Verify maximum file size and API limit thresholds
SharePoint Upload Failed
This article provides a diagnostic checklist and troubleshooting guide to resolve SharePoint Upload Failed (such as upload errors in OneDrive, “Upload Blocked” messages in Word/Excel, or validation errors preventing files from saving).
Root Causes / Meaning
SharePoint upload failures occur when files fail to write to the cloud repository. Typical root causes include:
- Required Columns / Metadata Policies: The document library has columns marked as “Required,” or a validation formula (e.g., column validation) is not met, blocking the file from check-in.
- Checkout Enforcement: The library settings have Require Check Out enabled. If a user tries to upload or save a document without checking it out first, the upload will fail.
- File Size and Network Timeouts: The file exceeds the maximum limit (250 GB) or, more commonly, a slow connection causes the browser session/client API to time out during multi-part chunk uploads.
- Co-authoring Lock Out: Another user has checked out the file, or a lock handle from an aborted editing session remains active in the cloud (locks usually expire after 30–60 minutes).
- Office Cache Corruption: The Office Document Cache (ODC) holds a conflicted version of the document, refusing to upload newer changes.
Initial Checklist
Before proceeding to advanced fixes, perform these basic checks:
- Try Web Interface: Upload the file directly via the SharePoint browser interface. If it succeeds, the issue is with your OneDrive desktop client. If it fails, check the library settings.
- Verify File Name: Ensure the filename doesn’t end in a period or space, and contains no illegal characters.
- Verify Permissions: Ensure you have Contribute or Edit permissions on the target folder or library.
Platform-Specific Resolving Steps
Windows Users
Step 1: Force Clear Office Sync Locks and Cache
When Microsoft Word or Excel says “Upload Blocked”, clearing the cache forces the application to create a clean upload handle:
- Close all Microsoft Office programs.
- Open the Command Prompt as Administrator and run:
:: Kill Office Sync and cache handlers
taskkill /f /im MSOSYNC.EXE /im CSISYNCCLIENT.EXE
:: Remove the Office cache folders
rmdir /s /q "%localappdata%\Microsoft\Office\16.0\OfficeFileCache"
Step 2: Upload via PnP PowerShell to Bypass Local Clients
If the local client refuses to upload, bypass it to verify if the server accepts the file:
# Connect to SharePoint site
Connect-PnPOnline -Url "https://yourtenant.sharepoint.com/sites/Projects" -Interactive
# Upload the file directly using API chunking
Add-PnPFile -Path "C:\LocalFolder\LargeFile.zip" -Folder "Shared Documents" -ChunkSize 10
macOS Users
Step 1: Reset the Office Upload Daemon
For Office on macOS, reset the cache containers to resolve “Upload Blocked” alerts:
# Force quit Office apps
killall "Microsoft Word" "Microsoft Excel" "Microsoft PowerPoint" 2>/dev/null
# Clear the cached document database files
rm -rf ~/Library/Containers/com.microsoft.SharePoint-mac/Data/Library/Caches/*
rm -rf ~/Library/Group\ Containers/UBF8T346G9.Office/msoclipboard
Step 2: Perform Chunked Upload via Microsoft Graph API (Bash/curl)
If the web browser or OneDrive client fails due to size or timeouts, use curl to upload the file to Microsoft Graph in 10MB chunks:
# Create an upload session URL via Graph API (requires auth token)
UPLOAD_SESSION_URL=$(curl -X POST -H "Authorization: Bearer <AccessToken>" \
-H "Content-Type: application/json" \
-d '{"item": {"@microsoft.graph.conflictBehavior": "replace"}}' \
"https://graph.microsoft.com/v1.0/me/drive/root:/LargeFile.zip:/createUploadSession" | grep -o 'uploadUrl": "[^"]*' | cut -d'"' -f3)
# Upload the file to the session (replace with your local file paths and ranges)
curl -X PUT -H "Content-Length: <ChunkSize>" \
-H "Content-Range: bytes 0-<ChunkSize>/<FileSize>" \
--data-binary "@/path/to/LargeFile.zip" "$UPLOAD_SESSION_URL"
Actionable Command Blocks
Diagnose Folder Check-Out State (PowerShell / Windows)
If files cannot be uploaded because they are locked, check if the library enforces Checkout:
# Connect to the target site
Connect-PnPOnline -Url "https://yourtenant.sharepoint.com/sites/Projects" -Interactive
# Retrieve List and check ForceCheckout setting
$List = Get-PnPList -Identity "Shared Documents" -Includes ForceCheckout
$List.ForceCheckout
Summary Checklist
- Attempted upload directly via the SharePoint web interface to isolate the client.
- Confirmed that Require Check Out is disabled, or checked out the document.
- Verified that all required columns in the library have valid metadata values.
- Terminated Office sync processes (
MSOSYNC.EXE/CSISYNCCLIENT.EXE) and cleared the local cache. - Tested the upload with a smaller test file to isolate network capacity and throttling.