If you’re seeing 0xC1900107 with a message about “cleanup pending,” you’re dealing with a Windows 10/11 update or upgrade error that means a previous update didn’t fully finish. As a result, Windows keeps a “pending” cleanup step in the queue, which blocks new updates or feature upgrades. Left unresolved, you can get stuck in a loop where Windows Update repeatedly fails, the Update Assistant aborts, or the Media Creation Tool won’t proceed. This guide goes well beyond generic tips and gives you a clear, structured path—from quick checks to advanced repair—for clearing the update queue and resolving 0xC1900107 for good.
————————————
Understanding the Error
What 0xC1900107 means in plain language
- Error 0xC1900107 indicates Windows Setup or Windows Update found leftover data and tasks from a previous update/upgrade that haven’t been cleaned up. Think of it as Windows saying, “I can’t start a new update until I finish cleaning up the last one.”
- You may see related phrases like “Cleanup operation is pending,” “Pending reboot required,” or “The installation failed in the SAFE_OS phase during INSTALL_UPDATES.” These all point to unfinished servicing tasks, temporary installation folders, or pending operations that must be cleared or completed.
Where it typically appears
- During a feature update (e.g., moving from 21H2 to 22H2, or from Windows 10 to Windows 11).
- When using Windows Update, the Update Assistant, or the Media Creation Tool.
- After a failed or interrupted install (power loss, forced shutdown, low disk space).
- When Windows Update has a stuck queue or broken cache.
Why it’s critical to fix
- A pending cleanup blocks new updates, including security patches. Over time this increases risk and instability.
- Repeated failures can corrupt the component store and inflate disk usage (Windows.old, $WINDOWS.~BT).
- Fixing it restores normal update behavior and system reliability.
————————————
H2: Quick Reference Table
| Cause | Symptom | Recommended Fix |
|---|---|---|
| Pending reboot or unfinished update | Update/install fails with 0xC1900107; prompts to restart | Restart Windows twice; run Windows Update Troubleshooter; use DISM /RevertPendingActions in WinRE if needed |
| Windows Update cache corruption | Update stuck “Downloading” or “Installing”; multiple failures | Stop services and clear SoftwareDistribution and catroot2; delete $WINDOWS.~BT/$WINDOWS.~WS |
| Insufficient disk space | Feature update won’t start or rolls back | Free 30–40 GB; remove Windows.old via Disk Cleanup; Storage Sense |
| Component store (WinSxS) bloat or corruption | “Cleanup pending,” SFC/DISM errors | Run SFC and DISM cleanup/restore commands |
| Third‑party antivirus or filter drivers | Installation rolls back at 30–70% | Temporarily disable/uninstall antivirus; clean boot |
| Outdated drivers/firmware (RST, storage, GPU) | Failure during “INSTALL_UPDATES” or first reboot | Update storage controller, chipset, GPU; update BIOS/UEFI; unplug peripherals |
| Interrupted prior upgrade (power loss) | Windows.old, $WINDOWS.~BT remain; repeated failures | Use Disk Cleanup, clear update caches, and run SetupDiag to confirm root cause |
————————————
H2: Common Causes
- Pending reboot or unfinished servicing task
- Windows maintains a queue of operations (like removing superseded components). If it’s not complete, new updates wait.
- Corrupted Windows Update cache
- The SoftwareDistribution or catroot2 folders can hold partial packages that block progress.
- Disk space too low
- Feature updates need sizable temporary space. Windows.old plus $WINDOWS.~BT can consume tens of gigabytes.
- Component store issues
- The WinSxS store may need cleanup or repair via DISM/SFC.
- Third‑party security software and filter drivers
- Antivirus, encryption, or legacy filter drivers can interfere with Setup.
- Outdated or problematic drivers/firmware
- Intel RST (iaStor), old storage controller drivers, BIOS/UEFI, or SSD firmware can prevent the upgrade from staging or booting the new OS image.
- Interrupted or failed previous upgrade
- Sudden shutdowns or disconnections leave behind $WINDOWS.~BT and Windows.old, plus pending operations.
————————————
H2: Preliminary Checks
H3: Boot into Safe Mode (if Windows is unstable)
- If the system is unstable, boot to Safe Mode:
- Hold Shift while selecting Restart → Troubleshoot → Advanced options → Startup Settings → Restart → press 4 (Enable Safe Mode).
- Or run msconfig → Boot tab → check Safe boot → Minimal → Apply → Restart.
H3: Back up important data
- Before deep changes, back up Documents, Desktop, and critical folders to an external drive or cloud.
- Create a System Restore Point: Control Panel → System → System Protection → Create.
H3: Run basic health checks
-
Check disk integrity:
chkdsk C: /scan
If errors are reported:
chkdsk C: /f
You may be prompted to schedule a scan on reboot.
-
System file check:
sfc /scannow
-
Repair component store:
DISM /Online /Cleanup-Image /RestoreHealth
————————————
H2: Step-by-Step Troubleshooting
Follow these in order. Stop when the error 0xC1900107 is resolved.
- Reboot twice to complete pending operations
- Many “cleanup pending” states clear after one or two reboots.
- After rebooting twice, try Windows Update again.
- Ensure adequate free space
- For feature updates, aim for at least 30–40 GB free on the system drive.
- Use Storage Sense: Settings → System → Storage → Storage Sense → Run now.
- Or use Disk Cleanup:
- Search for “Disk Cleanup” → Right-click → Run as administrator.
- Select system drive → Clean up system files.
- Check:
- Windows Update Cleanup
- Temporary Windows installation files
- Delivery Optimization Files
- Previous Windows installation(s)
- Proceed and reboot after cleanup.
- Run the Windows Update Troubleshooter
- Settings → System → Troubleshoot → Other troubleshooters → Windows Update → Run.
- Apply any recommended fixes and reboot.
- Stop update services and clear the update cache
-
Open elevated Command Prompt (Run as administrator) and run:
net stop wuauserv
net stop bits
net stop cryptsvc
net stop msiserver -
Clear cache folders:
ren %systemroot%\SoftwareDistribution SoftwareDistribution.old
ren %systemroot%\System32\catroot2 catroot2.old -
Delete setup remnants (if present):
rmdir /s /q C:\$WINDOWS.~BT
rmdir /s /q C:\$WINDOWS.~WS -
Restart services:
net start msiserver
net start cryptsvc
net start bits
net start wuauserv -
Reboot, then try Windows Update again.
- Clean up the component store and reset the base
-
These commands help finalize and remove superseded components:
DISM /Online /Cleanup-Image /StartComponentCleanup
DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase -
Run SFC again for good measure:
sfc /scannow
- Trigger a fresh detection and download
-
From elevated Command Prompt:
usoclient StartScan
usoclient StartDownload
usoclient StartInstallIf usoclient is blocked or does nothing on your build, just open Settings → Windows Update → Check for updates.
- Perform a clean boot and temporarily disable third‑party antivirus
- Clean boot:
- Press Windows+R → msconfig → Services tab → check “Hide all Microsoft services” → Disable all.
- Startup tab → Open Task Manager → Disable all non‑Microsoft startup items.
- Reboot and retry the update.
- Temporarily uninstall any third‑party antivirus/security suites. Windows Defender will protect you during the process.
- Disconnect nonessential peripherals and update critical drivers/firmware
- Unplug USB devices, external drives, hubs (leave only keyboard/mouse/display).
- Update firmware and drivers:
- Chipset and storage controller (Intel RST if used).
- SSD firmware (from the SSD vendor).
- GPU (NVIDIA/AMD/Intel).
- BIOS/UEFI from OEM support.
- Reboot and attempt the update.
- Analyze setup logs with SetupDiag (highly recommended)
- Download Microsoft’s SetupDiag tool and run it:
- It automatically parses upgrade logs in:
- C:\$WINDOWS.~BT\Sources\Panther\setupact.log
- C:\$WINDOWS.~BT\Sources\Panther\setuperr.log
- Review the generated report (SetupDiagResults.log). Look for:
- Pending reboot or pending servicing operations
- Driver or compatibility blocks (e.g., problematic filter driver)
- Insufficient disk space
- Apply fixes suggested by SetupDiag (e.g., uninstall a specific driver or app), then retry.
- Use Windows Recovery Environment to revert pending actions (offline DISM)
If Windows says cleanup is pending and won’t clear:
-
Boot to Windows Recovery Environment (WinRE):
- Settings → System → Recovery → Advanced startup → Restart now.
- Or hold Shift while clicking Restart.
-
Troubleshoot → Advanced options → Command Prompt.
-
Find your Windows drive letter in WinRE (often D: instead of C:). List volumes:
diskpart
list volume
exit -
Revert pending actions:
DISM /Image:D:\ /Cleanup-Image /RevertPendingActions
-
Optionally delete the pending.xml (if it exists and revert didn’t clear it):
del D:\Windows\WinSxS\pending.xml
-
Reboot normally and try the update again.
- In-place upgrade repair (repair install)
- This keeps your files and apps while replacing Windows system files.
- Download the latest ISO for your Windows version:
- Mount the ISO (right-click → Mount) and run setup.exe.
- Choose “Keep personal files and apps.”
- Proceed; this often clears 0xC1900107 by rebuilding servicing and replacing problematic components.
- Reset Windows (last resort)
- Settings → System → Recovery → Reset this PC.
- Choose “Keep my files” to preserve user data.
- Reinstall apps afterward. This will fully clear any lingering update queues.
H3: Optional: If you hit a BSOD during the update, analyze the minidump
Error 0xC1900107 itself is not a BSOD, but if you blue-screen during an update attempt:
-
Ensure minidump creation is enabled:
- Control Panel → System → Advanced system settings → Startup and Recovery → Settings → Write debugging information: Small memory dump (256 KB).
- Default location: C:\Windows\Minidump
-
Use BlueScreenView (simple) or WinDbg (advanced).
-
BlueScreenView: Open the dump, note the BugCheck code and the “Caused by driver” line.
-
WinDbg (from Microsoft Store, WinDbg Preview):
-
File → Open dump file → C:\Windows\Minidump\xxxx.dmp
-
Run:
!analyze -v
lmvm -
If a storage, antivirus, or filter driver is implicated, update, roll back, or temporarily uninstall it, then retry the upgrade.
-
-
————————————
H2: Advanced Diagnostics
H3: Driver Verifier (use with caution)
-
Purpose: Stress-test third‑party drivers that may crash during the upgrade.
-
Enable:
verifier /standard /all
-
Reboot and use the system for a while. If a BSOD occurs, note the driver. Disable Driver Verifier afterward:
verifier /reset
-
Warning: Driver Verifier can make unstable systems unbootable. If that happens, boot to Safe Mode or WinRE and run verifier /reset.
H3: Event Viewer and logs to check
- Event Viewer: Windows Logs → Setup and Application.
- Setup logs:
- C:\$WINDOWS.~BT\Sources\Panther\setupact.log
- C:\$WINDOWS.~BT\Sources\Panther\setuperr.log
- Servicing logs:
- C:\Windows\Logs\CBS\CBS.log
- Look for errors tied to update orchestration, servicing stack, driver blocks, or pending operations. Use these clues to remove a problematic app/driver or to run DISM/SFC again.
————————————
H2: Post-Fix Checklist
-
Confirm the OS build
- Run winver. Verify you’re on the expected version/build (e.g., 22H2, 23H2).
-
Check Windows Update health
- Settings → Windows Update → Check for updates. It should scan and install without errors.
-
Review Event Viewer
- Ensure no recurring update failures or servicing errors in Setup/Application logs.
-
Re-run SFC/DISM
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth -
Optional stability tests
- Storage: manufacturer SSD tool or CrystalDiskInfo (SMART status).
- Memory: Windows Memory Diagnostic or MemTest86.
-
Create a fresh System Restore Point.
————————————
H2: When to Seek Professional Help
- Persistent storage errors
- SMART indicates reallocated or pending sectors, or SSD firmware issues that don’t resolve after updates.
- Repeated BSODs implicating hardware
- Memory errors or CPU machine-check exceptions suggest hardware diagnostics/replacement.
- Domain-joined or policy-managed devices
- Your IT admin may enforce deferrals or blocks via Group Policy/MDM that you shouldn’t override.
- Firmware/BIOS update complexity
- If you’re uncomfortable flashing BIOS/UEFI or RAID/IRST drivers, consider professional service to avoid data loss.
————————————
H2: Prevention Tips
- Maintain ample free space
- Keep at least 20–30% of the system drive free, especially around feature update cycles.
- Practice driver hygiene
- Update chipset, storage, GPU, and network drivers from OEM sources. Remove legacy/unused drivers.
- Let updates finish
- Don’t force power-offs during update phases. Use a UPS for desktops if power is unreliable.
- Regular maintenance
- Periodic SFC/DISM checks, Storage Sense, and Disk Cleanup for Windows Update Cleanup help prevent residue.
- Use restore points and backups
- Keep File History or image backups so you can recover quickly if an update fails.
- Minimize third‑party filter drivers
- Avoid stacking multiple antivirus, VPNs, or disk filter tools. Use supported, up-to-date products.
————————————
H2: Conclusion
Error 0xC1900107 “cleanup pending” almost always means Windows needs help finishing or clearing leftovers from a previous update. In many cases, a couple of reboots, clearing the update cache, and running DISM/SFC resolve it. For stubborn cases, SetupDiag, offline DISM /RevertPendingActions, and an in-place upgrade repair are reliable ways to reset Windows servicing and clear the update queue. With the steps above, you should be able to restore normal updates and move forward confidently.
————————————
H2: FAQ
H4: What does error 0xC1900107 actually mean?
It means Windows found remnants of a previous update or upgrade and has a pending cleanup or reboot that blocks new installations. Clearing the update cache, finishing pending actions, or using DISM/SFC typically fixes it.
H4: Is it safe to delete SoftwareDistribution and $WINDOWS.~BT?
Yes. Stopping update services first, then renaming/deleting SoftwareDistribution and catroot2, and removing $WINDOWS.~BT/$WINDOWS.~WS is safe and commonly recommended to fix update corruption. Windows will recreate the folders automatically.
H4: How do I know the cleanup is complete?
After reboots and cleanup steps, Windows Update should scan and install without errors. SetupDiag logs should no longer show “pending” states, and Disk Cleanup should have little or nothing under Windows Update Cleanup or Previous Windows installation(s). winver should show the new build after a successful feature update.
H4: Will resetting Windows fix 0xC1900107?
Yes, a Reset this PC (Keep my files) will remove pending updates and rebuild the servicing stack, but it’s a last resort. Try the cache cleanup, DISM/SFC, offline DISM /RevertPendingActions, and an in-place repair upgrade first.
H4: Can antivirus or drivers cause 0xC1900107?
Indirectly, yes. Security software and filter drivers can cause an upgrade to fail partway, leaving pending cleanup tasks behind. Temporarily uninstall third‑party antivirus, perform a clean boot, and update storage/GPU drivers and firmware before retrying.
If you get stuck at any step, don’t hesitate to ask for help with the specific error messages or SetupDiag results you’re seeing. You’ve got this—most systems clear 0xC1900107 once the pending cleanup is completed and the update cache is reset.
