Few things are more frustrating than a Windows update that refuses to budge. You click “Check for updates,” watch the progress bar stall, and suddenly you are staring at a frozen “Windows Update stuck at 0%” screen for hours. This common issue can disrupt workflows, compromise system security, and leave both beginners and IT administrators scratching their heads.
Fortunately, this isn’t a dead end. In this guide, we break down the most effective, step-by-step solutions to get your system moving again. From clearing the SoftwareDistribution folder to using the Windows Update Troubleshooter, you will learn exactly how to fix Windows Update stuck at 0% and prevent it from happening in the future. Let’s get your PC back on track.
Introduction
Encountering Windows Update stuck at 0% is a frustrating experience that affects both casual users and IT administrators. The progress bar remains motionless, the status indicator shows “Downloading… 0%,” and no amount of waiting seems to resolve the issue. This guide covers How to Fix Windows Update Stuck at 0% in practical, step-by-step detail. Whether you are dealing with a single workstation or managing a fleet of devices, the procedures outlined below are designed to get your system back to a fully patched state without requiring a full OS reinstall. We will focus on safe, reversible methods that address the most common root causes: corrupted update cache, service misconfigurations, and pending reboot flags.
It is important to understand that this issue is rarely a hardware problem. Instead, it usually stems from software-level communication failures between your Windows Update client and the Microsoft servers. The instructions in this article apply to Windows 10 and Windows 11, and we will note where specific versions differ. By the end of this guide, you will have a clear, repeatable troubleshooting workflow. Always verify software compatibility with your hardware architecture (ARM64 vs x86) before downloading any diagnostic tools or third-party utilities, as using the wrong architecture can introduce new problems.

Prerequisites
Before you begin fixing the Windows Update stuck at 0% issue, you need to confirm a few baseline requirements. These steps ensure that you do not waste time on advanced troubleshooting when a simple prerequisite is missing.
- Administrator Account Access: You must be logged in with an account that has local administrator privileges. Many of the commands and service restarts you will perform require elevated rights.
- Stable Internet Connection: Verify that you have an active, stable internet connection. Try visiting a simple website first. A flaky VPN or a proxy can cause the update client to hang indefinitely at 0%.
- System Date and Time: Incorrect system clock settings can cause SSL/TLS handshake failures with Windows Update servers, resulting in a stuck download. Ensure your time zone and clock are set to the correct values.
- Sufficient Disk Space: Check that your C: drive has at least 10 GB of free space. Updates require temporary storage to stage and extract files. Lack of space is a major hidden cause of a stuck progress bar.
- Backup or Restore Point: Create a System Restore Point before making any changes to services or the update cache. This gives you a rollback path if something goes wrong.

Preparation
Preparation involves clearing your system state and identifying the exact symptoms. Taking a structured approach helps you isolate the problem without random reboots.
First, open the Windows Update settings page (Settings > Windows Update) and check if there are any pending reboots or other updates waiting in the queue. Sometimes, the “stuck at 0%” is actually a waiting game because another update is half-installed. If you see a “Restart now” button, reboot the machine before proceeding.
Second, run the built-in Windows Update troubleshooter. This tool often performs a quick check of common service states and can automatically reset the update cache. To access it, go to Settings > System > Troubleshoot > Other Troubleshooters > Windows Update. Let it run its course, and note any error codes it displays. Even if the troubleshooter does not fix the issue, the error code it provides (such as 0x80070002 or 0x80240034) is essential for further diagnosis.
Finally, prepare a list of all third-party antivirus or security software installed on the system. Occasionally, these applications interfere with the Windows Update process by locking critical files or blocking network requests. In most cases, you do not need to uninstall them, but you should know how to temporarily disable their real-time protection or firewall component for the duration of the fix.

Installation Steps
This section provides the core procedures to fix the stuck-at-0% issue. Follow each step in sequence. Do not skip ahead, as the steps build on each other to ensure services are started in the correct order and that the cache is rebuilt cleanly.

Step 1: Review prerequisites and compatibility
Re-verify the disk space and the Windows version you are running. Press Win + R, type winver, and press Enter. Note the exact Build number. This is critical because some fixes are specific to a particular Windows release. If you are on a corporate-managed device, check with your IT department to see if there is a GPO (Group Policy Object) that might restrict update downloads. Ask yourself: are you on a metered connection? If yes, Windows Update will sometimes intentionally pause downloads to save data, but it may get stuck reporting 0% instead of showing “Paused.” Go to Settings > Network & Internet > Wi-Fi or Ethernet, and turn off “Set as metered connection” if it is enabled. Also, check if your system architecture is ARM64 or x86, especially if you plan to use the Windows Update Assistant tool as a fallback, as you will need the correct executable. Keeping your operating system updated before installation prevents dependency conflicts, so if you have a pending older update, note its KB number before proceeding.

Step 2: Prepare the environment
Now that you have confirmed the basics, it is time to stop the Windows Update services and clear the cache. Open a Command Prompt as Administrator (right-click Start > Terminal (Admin) or Command Prompt (Admin)). Run the following commands one by one, pressing Enter after each:
net stop wuauserv(Stops the Windows Update service)net stop cryptSvc(Stops the Cryptographic Services)net stop bits(Stops the Background Intelligent Transfer Service)net stop msiserver(Stops the Windows Installer)
Next, you need to clear the downloaded update cache. In the same Command Prompt window, type the following command and press Enter. This command renames the SoftwareDistribution folder rather than deleting it, preserving data in case you need to perform a deeper forensic analysis:
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
Similarly, rename the catroot2 folder:
ren C:\Windows\System32\catroot2 catroot2.old
Finally, restart the services you stopped. Run these commands in reverse order:
net start msiservernet start bitsnet start cryptSvcnet start wuauserv
Now, try checking for updates again in the Settings app. If the progress bar moves past 0%, you have solved the issue. If not, proceed to Step 3, as the problem is likely deeper than just a corrupted cache.

Step 3: Configure core settings
In this step, we adjust system policies and check for service dependencies that might be hanging the update process. First, open the Services console (press Win + R, type services.msc, and press Enter). Find the “Windows Update” service. Right-click it, select Properties, and ensure the “Startup type” is set to “Automatic (Delayed Start).” If it is set to “Automatic” and is hanging, changing it to delayed start can sometimes resolve race conditions.
Next, ensure that the “Software Protection” service and the “TokenBroker” service are running. These services are less obvious but can block the update if they are stopped. In the same Services window, locate them, and if they are not running, right-click and select Start.
If you are running Windows 10, check your Delivery Optimization settings. Go to Settings > Update & Security > Delivery Optimization, and click “Advanced options.” If you have set a bandwidth limit of 0% or an absolute minimum value, set it to 100% for testing purposes. A misconfigured bandwidth cap can make the update client appear stuck at 0%. Apply the changes and leave the Settings window open.

Step 4: Run the main installation procedure
If the previous steps have not fixed the stuck at 0% issue, it is time to use a more aggressive, manual reset of the Windows Update components. Open a fresh Command Prompt as Administrator and execute the following commands sequentially. This set of commands will reset the Windows Update policies to their default values and clear the encrypted database used by BITS:
sc.exe config wuauserv start= autosc.exe config bits start= delayed-autosc.exe config cryptsvc start= autosc.exe config TrustedInstaller start= demandreg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v AccountDomainSid /freg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v PingID /freg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v SusClientId /f
After running these commands, reboot your PC completely. When the system comes back online, let it sit for two minutes without opening any apps. This allows background services to initialize properly. Then, go to Windows Update and click “Check for Updates.” In many cases, the download will now begin immediately. If it still sticks at 0%, you may need to try the Windows Update Assistant tool from Microsoft’s official website. Download the appropriate version (x86 or ARM64) that matches your system, and run it. This tool bypasses the Windows Update client entirely and downloads the update directly, providing a workaround for the stuck client.

Step 5: Verify the installation
Once the update has successfully downloaded and installed, you need to verify the integrity of the installation. First, go to Settings > Windows Update > Update history. Check that the update shows a “Successfully installed” status with a timestamp. Do not rely on the notification toast alone; always check the history panel.
Next, open a Command Prompt as Administrator and run the command dism /online /cleanup-image /scanhealth . This tool scans the Windows image for corruption and confirms.
You now have a complete workflow for How to Fix Windows Update Stuck at 0%. Keep your system updated, monitor resource usage, and revisit this guide when software versions change.
Next steps: harden your server firewall, set up automated backups, and explore related tutorials linked above.