How to fix Windows update error 0x80020010?
Prefer to fix it yourself? The manual steps follow.
- 8methods
- 2 minutes to 2 hours
- Intermediate
Applies to Windows 11 and Windows 10: event 1074 with Reason Code 0x80020010, and Windows Update failures with error 0x80020010
8 methods in this guide
I can't get the newest Windows update to install. I always receive a 0x80020010 error. Do you have any advice for me on how to resolve this? I've been waiting for several days now, but the update always fails.
The code 0x80020010 shows up in two places. In Event Viewer, Reason Code: 0x80020010 means Windows restarted on purpose to finish an update, and nothing failed. In Windows Update history it is a real install failure, and the fix starts with a restart and a fresh try.
First check where you saw the code (Fix 1). If it is Reason Code: 0x80020010 in event 1074, Windows restarted to install an update as planned, and there is nothing to repair. If Update history lists an update that failed with 0x80020010, restart the PC and check for updates again (Fix 3), then reset the update components (Fix 5).
| Error | 0x80020010, also seen as Reason Code: 0x80020010 or 80020010. |
|---|---|
| Where it appears | Most often in Event Viewer > Windows Logs > System, event ID 1074 from User32. Less often in Settings > Windows Update > Update history next to a failed update. |
| Main cause | In event 1074: a planned restart to install an update, which Microsoft labels Operating System: Service pack (Planned). In Update history: a call between Windows Update parts failed, Microsoft name DISP_E_BADCALLEE, Invalid callee. |
| Fastest fix | Event 1074: none needed, just confirm the update installed (Fix 1 and Fix 2). Failed update: restart and check for updates again (Fix 3). |
| Also written as | 0x80020010, 80020010, Reason Code 0x80020010, DISP_E_BADCALLEE. |
| Affects | Windows 11 and Windows 10. The shutdown reason codes go back to Windows XP, so older PCs log the same code. |
| Microsoft's status | The reason code is documented, not a bug. We found no Microsoft page that ties 0x80020010 to one specific failing update. |
| Where the cause is written | Event 1074 in the System log names the program that asked for the restart. A failed update leaves its details in C:\Windows\Logs\CBS\CBS.log. |
| Time to fix | 2 minutes to read the event. 10 to 40 minutes for Fix 3 to Fix 7. One to two hours for the repair reinstall in Fix 8. |
Facts checked on 15 October 2026. Steps written for Windows 11 (25H2 and 26H2) and Windows 10 22H2.
What 0x80020010 and Reason Code 0x80020010 mean
Windows uses the same eight digits for two unrelated things, and that is why the advice online is so confusing. Which one you have depends only on the window where you read the code.
| Where you see it | What it is | Is something broken? |
|---|---|---|
| Event Viewer, System log, event ID 1074, line Reason Code: 0x80020010 | A shutdown reason code. Microsoft's table names it Operating System: Service pack (Planned): a planned restart to install an update. | No. It records a normal restart. |
| Settings > Windows Update > Update history, a failed update with 0x80020010 | An HRESULT error. Microsoft's error list calls it DISP_E_BADCALLEE, with the text Invalid callee. | Yes. The update did not install. |
| A script, an Office macro or another app that reports 0x80020010 | The same DISP_E_BADCALLEE error from an automation call inside that app. | Yes, but in that app, not in Windows Update. |

Microsoft documents the shutdown reason codes in reason.h. 0x80000000 is the flag for a planned shutdown, 0x00020000 is the major reason "Operating system issue" and 0x00000010 is the minor reason "Service pack". Add them and you get 0x80020010.
Windows Update restarts carry this label because the system still files every update installation under the old service pack category. The planned flag also makes Windows write a System State Data file, which is a normal part of a planned restart.
What event 1074 with this code looks like (the program and the names differ on each PC):
The process <program> has initiated the restart of computer <PC name> on behalf of user <user> for the following reason: Operating System: Service pack (Planned)
Reason Code: 0x80020010
Shutdown Type: restart
Why 0x80020010 appears: causes ranked
Most people who search for this code found it in Event Viewer while looking for the reason their PC restarted. A smaller group has an update that keeps failing. The table puts the causes in that order and ties each one to a fix.
| Cause | How often | How to tell | Fix |
|---|---|---|---|
| Windows restarted to finish an update | Most often | Event 1074 with Reason Code: 0x80020010 at the time the PC restarted | Fix 1, Fix 2 |
| A one-off failure in the update client, or an update that waits for a restart | Often | One failed entry in Update history, and the PC has not restarted for days | Fix 3 |
| The Windows Update service or its helpers are stuck | Sometimes | Updates fail again and again with the same code | Fix 4, Fix 5 |
| A damaged download of this one update | Sometimes | The same KB number fails while other updates install | Fix 5, Fix 6 |
| Damaged system files or component store | Rarely | DISM or SFC reports damage, or CBS.log names missing files | Fix 7, Fix 8 |
Event 1074 with this code is written by Windows itself during a planned restart. It is not a sign of an infection, of a failing disk or of a crash. A crash leaves different events, such as Kernel-Power event 41.
How to fix Windows update error 0x80020010
Fix 1 tells you which of the two codes you have, and for most readers it is the end of the job. Fix 2 keeps update restarts from catching you by surprise. Fix 3 to Fix 8 are for an update that really failed, from the quickest step to the repair reinstall.
| What you see or have | Start with |
|---|---|
| Event 1074 with Reason Code: 0x80020010, and you want to know why the PC restarted | Fix 1 |
| The PC restarts for updates while you work | Fix 2 |
| Update history shows an update that failed with 0x80020010 | Fix 3, then Fix 4 |
| Updates keep failing with the same code after a restart | Fix 5 |
| One KB number fails while others install | Fix 6 |
| DISM or SFC reports damaged files | Fix 7, then Fix 8 |
Fix 1. Find out where 0x80020010 comes from in Event Viewer
2 to 5 minutesNo riskEveryone, first. Above all if you found the code while checking why the PC restarted.
Event 1074 names the program that asked for the restart and the reason. When the reason is Operating System: Service pack (Planned), you know the restart came from an update and was not a failure.
- Press Win + R, type
eventvwr.mscand press Enter. - In the left pane, open Windows Logs > System.
- In the right pane, select Filter Current Log.
- In the box that shows <All Event IDs>, type
1074and select OK. - Select the event at the time of the restart and read the General tab: the program, the user and the line Reason Code.
- If the reason reads Operating System: Service pack (Planned) and the code is 0x80020010, the restart was an update restart. Go on to Fix 2 only if the timing bothers you.
You can list the last ten restarts with their reasons in one go. Open Windows PowerShell or Terminal and run this command:
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1074} -MaxEvents 10 | Format-List TimeCreated, MessageIf you were looking for a restart that came with no warning, also read our guide on The previous system shutdown was unexpected. A crash or a power cut leaves event 41 or 6008, not event 1074.
It worked if: You see event 1074 with Operating System: Service pack (Planned) at the time of the restart, and Update history lists the update of that day as successfully installed.
If not: If Update history shows the update as failed with 0x80020010, go to Fix 3.
Fix 2. Control when Windows restarts for updates
3 minutesNo riskThe planned update restarts in event 1074 happen while you work or leave apps closed.
The code itself is harmless, but an update restart at a bad moment is what makes people go looking for it. Active hours and a restart notice let you decide when the restart happens.
- Windows 11: open Settings > Windows Update > Advanced options. Windows 10: open Settings > Update & Security > Windows Update.
- Set Active hours to the hours you use the PC. Windows 10 calls it Change active hours.
- In Windows 11, turn on Notify me when a restart is required to finish updating.
- When an update is waiting, restart yourself at a good moment from Start > Power > Update and restart.
- Check Update history after the restart: the update should be listed as successfully installed.
Do not stop the restarts by switching off the Windows Update service or pausing updates for months. Your PC would stay without security fixes, and the restart would come later anyway.
It worked if: Update restarts happen outside your working hours, and event 1074 with Reason Code 0x80020010 appears only at those times.
If not: If the PC still restarts during active hours, check whether your organization manages updates: a managed PC follows the rules set by the administrator.
Fix 3. Restart the PC and check for updates again
10 to 30 minutesNo riskUpdate history shows an update that failed with 0x80020010.
DISP_E_BADCALLEE means one part of the update client called another part that could not answer. A full restart closes every update process and finishes any half-done installation, so the next try starts clean.
- Save your work and select Start > Power > Restart. Use Restart, not Shut down.
- Open Settings > Windows Update (Windows 10: Settings > Update & Security > Windows Update).
- Select Check for updates and install everything that is offered.
- Restart again when Windows asks.
- Open Update history and check whether the update that failed is now listed as successfully installed.

It worked if: The update installs and Update history lists it as successfully installed, without 0x80020010.
If not: Run the Windows Update troubleshooter in Fix 4.
Fix 4. Run the Windows Update troubleshooter
5 to 10 minutesNo riskThe update failed again after a restart.
The troubleshooter checks the update services and settings that this COM error depends on and repairs what it can. On Windows 11 it runs in the Get Help app.
- Open Troubleshoot settings. Select Start > Settings > System > Troubleshoot.
- Open the list of troubleshooters. Select Other troubleshooters.
- Run the Windows Update troubleshooter. Under Most frequent, select Run next to Windows Update. The Get Help app opens and starts the checks.
- Read the result. Wait until Get Help finishes. If it found and fixed a problem, it says so and asks whether this solved the problem. Answer the question so it can offer the next step.
- Restart the PC. Restart when the troubleshooter finishes, even if it does not ask you to.
- Check for updates again. Select Start > Settings > Windows Update > Check for updates, and install the updates it finds.
These steps were written for Windows 11 (screenshots: 26H2). The full page with the other versions and what each result means: Run the Windows Update troubleshooter

It worked if: The troubleshooter reports that it fixed a problem, and the update installs after the restart.
If not: Reset the update components with Fix 5.
Fix 5. Reset the Windows Update components
10 minutesLow riskUpdates keep failing with 0x80020010, or the same update fails at the same point every time.
Resetting stops the update services, clears the download queue and renames the SoftwareDistribution and catroot2 folders, so Windows builds them again. It replaces the stuck parts the update client keeps calling.
- Open Command Prompt as administrator. Type cmd in the search box, right-click Command Prompt and select Run as administrator. Select Yes when Windows asks for permission.
- Stop the update services. Type the commands below and press Enter after each one. If Windows says that other services depend on Cryptographic Services, it stops them too. A message that a service is not started is fine.
net stop wuauserv net stop bits net stop cryptsvc - Delete the download queue files. This clears the list of downloads that the Background Intelligent Transfer Service keeps. If Windows says it cannot find the files, continue.
del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat" - Rename the update cache folders. Renaming keeps a copy in case you need it; Windows creates new, empty folders when the services start again. If you get Access is denied, a service is still running: repeat the previous step.
ren %systemroot%\SoftwareDistribution SoftwareDistribution.old ren %systemroot%\System32\catroot2 catroot2.old - Start the services again. Type the commands below and press Enter after each one. The requested service has already been started is fine: Windows started it on its own.
net start cryptsvc net start bits net start wuauserv - Restart and check for updates. Restart the PC. Then select Start > Settings > Windows Update > Check for updates. The first check can take longer than usual because everything is downloaded again.
These steps were written for Windows 11 and Windows 10 (the steps are the same). The full page with the other versions and what each result means: Reset Windows Update components

It worked if: Windows Update downloads the update again and installs it without 0x80020010.
If not: Install the update by hand with Fix 6.
Fix 6. Install the failed update by hand from the Microsoft Update Catalog
15 to 30 minutesLow riskOne KB number keeps failing while other updates install.
The catalog package installs outside the Windows Update client, so the part that returns DISP_E_BADCALLEE is not used at all.
- Check your Windows version. Press Windows key + R, type winver and press Enter. Note the version (for example 25H2) and the OS build.
- Find the KB number. Open Settings > Windows Update. A failed or pending update is listed with its KB number; earlier ones are under Update history.
- Check the processor type. Open Settings > System > About and look at System type: an x64-based PC needs the x64 file, an ARM-based PC (for example Snapdragon) needs the arm64 file.
- Search the catalog. Open the Microsoft Update Catalog at catalog.update.microsoft.com in your browser, type the KB number (for example KB5124010) in the search box and press Enter.
- Pick the right row. Find the row whose title names your Windows version and your processor type (x64-based or arm64-based) and select Download on that row.
- Download every file listed. A window lists one or more .msu links. Download all of them into one empty folder, for example C:\packages. On Windows 11 24H2 and later the list can include earlier checkpoint updates that the new one needs.
- Install a single file. If there is only one file, double-click it and confirm the installation in the Windows Update Standalone Installer.
- Install several files with DISM. If there are several files, open an elevated Terminal or Command Prompt and run DISM with the newest file. DISM finds the other files in the same folder and installs them in the right order.
DISM /Online /Add-Package /PackagePath:C:\packages\<newest-file>.msu - Restart. Restart the PC when the installation finishes, then run winver again: the OS build should have changed.
These steps were written for Windows 11 24H2 and later; Windows 10 22H2. The full page with the other versions and what each result means: Install an update from the Microsoft Update Catalog

If Windows Update now offers a newer cumulative update, download that one instead of the old KB. Each cumulative update contains the earlier ones.
It worked if: The installer reports that the update was installed, and after a restart winver shows a higher OS build.
If not: If the installer stops with an error, repair the system files with Fix 7.
Fix 7. Repair the system files with DISM and SFC
15 to 40 minutesNo riskThe earlier fixes did not help, or CBS.log names damaged files.
An update builds on the component store. When parts of it are damaged, the install fails at the same place each time. DISM repairs the store from Windows Update and SFC then repairs the files in use.
- Open an elevated command window. Right-click Start and select Terminal (Admin), or type cmd in the search box, right-click Command Prompt and select Run as administrator. Select Yes when Windows asks for permission.
- Run DISM first. Type the command below and press Enter. DISM downloads clean copies of damaged components from Windows Update, so it can take several minutes. Wait until it says The operation completed successfully.
DISM.exe /Online /Cleanup-Image /RestoreHealth - Run System File Checker. In the same window, type the command below and press Enter. Do not close the window until the verification reaches 100%.
sfc /scannow - Read the result and restart. Compare the last message with the table below this guide, then restart the PC so that repaired files are loaded.
These steps were written for Windows 11 24H2 and 25H2. The full page with the other versions and what each result means: Run DISM and SFC to repair Windows system files

It worked if: DISM ends with The operation completed successfully., SFC finds nothing or repairs files, and the update installs after a restart.
If not: Use the repair reinstall in Fix 8.
Fix 8. Reinstall Windows over itself and keep your files
1 to 2 hoursLow riskNothing above worked, or DISM could not repair the damage.
The reinstall lays a clean copy of your Windows version over the old one, with the newest update included, and keeps apps, files and settings. It replaces damaged update parts that smaller repairs cannot reach.
- Open Recovery in Settings. Open Settings > System > Recovery. Next to Fix problems using Windows Update, select Reinstall now. This keeps your apps, files and settings.

Fix problems using Windows Update reinstalls the current version and keeps apps, files and settings. Screenshot: Windows 11 26H2. - Start the reinstall. Choose whether the PC may restart on its own 15 minutes after the installation, then select OK.
- Wait and restart. Windows Update downloads and installs a repair copy of your current Windows version. Keep the PC plugged in and online, and restart it when asked.
These steps were written for Windows 11 22H2 and later. The full page with the other versions and what each result means: Reinstall Windows without losing files
- Back up the files you cannot lose first: Back up your files (Windows Backup, File History, Time Machine).
- Keep the PC plugged in and online for the whole reinstall.
- On Windows 10 the same job is done with the Media Creation Tool and Upgrade this PC now, which the old version of this guide described.
It worked if: The PC restarts into the same desktop with your apps and files, and Windows Update shows no failed update.
If not: Read the section "If 0x80020010 still appears" below.
If 0x80020010 still appears
First make sure you are fixing the right thing. A new event 1074 with Reason Code 0x80020010 after every update is normal and will keep appearing for as long as Windows installs updates.
| Situation | What to do |
|---|---|
| Event 1074 appears after each Patch Tuesday | Nothing. It records the update restart. Fix 2 moves it out of your working hours. |
| Event 1074 with this code appears many times a day | Look at the program named in the event. Updates that fail and retry can restart the PC again and again, so check Update history for failures. |
| The same update fails after the repair reinstall | Free space on drive C: (Free up disk space and delete temporary files), then check the drive with Check a disk for errors (chkdsk). |
| A third-party antivirus is installed | Pause it for one test only and turn it back on right after: Turn off Microsoft Defender protection for a moment. |
| Work or school PC | Send the administrator the code, the KB number and CBS.log. Updates may come from a company server. |
| 0x80020010 comes from a script or an Office macro | This page does not apply. The app's automation call failed, and the app's own support is the place to ask. |
- The log to read: copy
C:\Windows\Logs\CBS\CBS.logto the Desktop, open the copy and search forerrornear the time of the failure. - What to send to support: the exact code, the KB number, the OS build from
winver, the date of the failure andCBS.log. - Windows 10 left support on 14 October 2025. A Windows 10 PC that fails monthly updates gets them only through Extended Security Updates, so moving to Windows 11 is the lasting fix where the hardware allows it.

How to keep Windows updates from failing again
- Restart when Windows Update asks, before the next update arrives.
- Set active hours so update restarts happen when you are away.
- Keep several gigabytes free on drive C: before the monthly update on the second Tuesday.
- Check Update history once a month for failed entries.
- Do not switch the PC off while it says that updates are being installed.
- Do not delete files in
C:\Windows\WinSxSby hand. - Do not stop the Windows Update service to avoid restarts.
- Do not turn off your antivirus for good to get an update in.
Frequently asked questions
What does Reason Code: 0x80020010 mean?
It means Windows restarted on purpose to install an update. Microsoft's table of shutdown reason codes builds 0x80020010 from three flags: planned (0x80000000), operating system (0x00020000) and service pack (0x00000010). Event Viewer shows it in event 1074 as Operating System: Service pack (Planned). It is a record of a normal update restart, not an error, and there is nothing to repair when the update shows as installed.
Why did my PC restart with reason code 0x80020010?
Because an update needed a restart to finish. Windows Update, or the servicing process that installs updates, asked for the restart and Windows logged the reason. If the PC was in use at that time, the restart happened outside your active hours or after a pending restart waited too long. Set active hours and turn on the restart notice, as Fix 2 shows, to choose the time yourself.
Is 0x80020010 an error I need to fix?
Only when it appears in Windows Update history next to a failed update. In that case Microsoft's error list names it DISP_E_BADCALLEE, Invalid callee, and the update did not install. Start with a restart and a new check for updates, then the troubleshooter and the component reset. When the code appears in event 1074 as a reason code, nothing failed and you do not need to do anything.
What is DISP_E_BADCALLEE?
It is the name Microsoft gives the error 0x80020010 in its list of HRESULT values, with the description Invalid callee. It comes from COM automation, the way Windows programs and scripts call each other. In Windows Update it means one part of the update client could not get a valid answer from another. A restart or a reset of the update components usually clears it.
Is 80020010 the same code as 0x80020010?
Yes. The 0x prefix only says that the number is written in hexadecimal. Some logs, tools and forum posts drop it and write 80020010. The meaning depends on where you read it, not on the spelling: a reason code in event 1074 is a planned update restart, and an error in Update history is a failed update.
Does event 1074 with 0x80020010 mean my PC crashed?
No. Event 1074 is written when a program or a user asks Windows to restart or shut down in an orderly way. A crash or a power loss leaves other events, such as Kernel-Power event 41 and event 6008, and no event 1074 at that time. If you also see those, the restart was not an update restart and needs a different guide.
Why does 0x80020010 say service pack when Windows has no service packs any more?
Because the reason codes are older than today's update system. Microsoft's list goes back to Windows XP and Windows Server 2003, when big updates came as service packs. Windows still files update restarts under the service pack reason, so a monthly cumulative update on Windows 11 is logged with the same label.
Can I stop Windows from restarting with this reason code?
You can choose when it happens, but you should not stop it. Updates that need a restart are not finished until the PC restarts, and security fixes stay inactive until then. Set active hours, turn on the restart notice and restart yourself when an update waits. Do not disable the Windows Update service, because the PC would stop getting security fixes.
Can malware cause 0x80020010?
We found no link between this code and malware. Event 1074 with Reason Code 0x80020010 is written by Windows during a normal update restart, and the update error is a COM call failure in the update client. If you suspect an infection for other reasons, run a full scan with Microsoft Defender, but do not expect it to change this code.
Sources
- Microsoft Learn: System Shutdown Reason Codes (reason.h) (learn.microsoft.com)
- Microsoft Learn: [MS-ERREF] HRESULT Values (0x80020010 DISP_E_BADCALLEE) (learn.microsoft.com)
Did this fix work?
One click, no account. It tells the next reader which guides are worth their time.
Questions and experiences: fix Windows update error 0x80020010
Still broken, or found a fix we did not cover? Ask here: members and our editors answer. Reading is open; writing needs a free account.
…