0x00000020: Fix the Shutdown APC BSOD Error on Windows
Definition: 0x00000020, KERNEL_APC_PENDING_DURING_EXIT, means an asynchronous procedure call (APC) was still pending when a thread exited.
This guide is part of our Windows BSOD stop codes: full list and fixes series.
This bug check is documented by Microsoft in the bug check reference as KERNEL_APC_PENDING_DURING_EXIT (0x20). The most useful technical clues are in the bug check parameters: Microsoft says Parameter 2 is the APC disable count for the thread, a nonzero value can indicate the source of the problem, a negative value can indicate a driver disabled APC calls without re-enabling them, a positive value indicates the reverse, and Parameter 3 should be zero. If it is not zero, Microsoft says a driver cancellation routine may have returned at an elevated IRQL.
What should you check first after a 0x00000020 BSOD?
Start by keeping the evidence, then tie the crash to the exact action that triggers it. After that, check recent driver or low-level software changes before moving on to repair scans. If you need step-by-step background for adjacent fixes, see our Windows BSOD stop code troubleshooting guide, driver rollback in Device Manager walkthrough, how to boot into Safe Mode on Windows, and SFC and DISM repair guide.
Save the evidence before making changes
- Open File Explorer >
C:\Windows\Minidumpand copy any recent .dmp files to the Desktop or another folder so you still have the originals available for later review. - Open Event Viewer: press Win + X > Event Viewer, then check Windows Logs > System for errors around the crash time.
- Open Reliability Monitor: press Win + R, type perfmon /rel, and note the day the failures started.
- Write down the last change made in Device Manager, Windows Update, antivirus, VPN, backup software, hardware monitoring tools, GPU software, or storage utilities.
- If the system is stable enough, leave the files in
C:\Windows\Minidumpuntouched and work from the copies you made. Microsoft says the !analyze debug extension displays information about the bug check and can help determine the root cause.
Match the crash moment before touching drivers
- Try to identify the exact action that causes the blue screen, such as Start > Power > Shut down, Sign out, resuming from sleep, or a specific file copy or app launch.
- Repeat that same action after each single change so you can tell whether the change helped.
- If the crash does not happen the same way every time, note the last successful action and the last failed action in Reliability Monitor and Event Viewer.
Decide whether normal mode, Safe Mode, or Clean Boot is best
If Windows stays up long enough to test the trigger, use normal mode first. If normal boot is unstable, use Safe Mode to remove the last added low-level software. If the machine boots but crashes during exit, use a Clean Boot to isolate third-party services and startup items. Safe Mode and Clean Boot are standard Windows isolation steps when normal startup is too unstable for ordinary uninstall or rollback work.
According to 0x00000020 Error: Kernel APC Pending During Exit — The Windows stop code 0x00000020 is labeled KERNEL_APC_PENDING_DURING_EXIT. (source)
Likely causes of 0x00000020, ranked by how often they show up
Keep the initial focus on recent driver changes and other low-level software changes, because Microsoft’s parameter guidance points to APC state and IRQL handling in the thread that exited. The goal is to test one recent change at a time and retest the same trigger after each change.
1. Recently changed drivers and filter drivers
Start with the drivers that changed last. Check storage, network, chipset, GPU, USB, and anything installed right before the crashes. If the system began blue-screening after a driver update, rollback is usually the first clean test. If no recent update is known, an update from the PC or motherboard maker may be the next test.
2. Antivirus, VPN, backup, disk, and monitoring tools
These products often install kernel services or filter drivers. If the crash started after adding or updating one of them, uninstall or disable only that product first, then retest the same trigger before changing anything else.
3. Corrupted system files or damaged Windows components
If no recent driver or utility change lines up with the first crash, check Windows files next with SFC and, if needed, DISM /RestoreHealth. Those are standard Windows repair steps for damaged protected files and the component store.
4. Memory, BIOS, and chipset-level instability
If the crash persists after software isolation, move to memory and storage checks, then BIOS and chipset updates from the system or motherboard manufacturer. Those are follow-up checks rather than the first move.
Is 0x00000020 usually a driver problem or a hardware problem?
Start with drivers and other low-level software, especially if the blue screen began right after a driver change or software install that adds system-level components. Hardware and firmware checks move higher on the list if the problem continues after rollback, uninstall, Clean Boot, and repair scans. If you want a dump-focused workflow, our Windows minidump analysis in WinDbg guide is the companion process to use after preserving the dump.





