TiWorker.exe — the Windows Modules Installer Worker — is Windows Update’s muscle: it installs the updates that the update service downloads. During patch Tuesday it’s supposed to work hard for a while and then stop. But when it grinds at 30–80% CPU for days, with no update visibly progressing, the update pipeline is stuck — and a stuck updater doesn’t just waste CPU, it blocks future updates too.
The fix sequence is specific to the update pipeline: let legitimate work finish, clear the stuck state, repair the component store, and reset the update components if needed. Follow it in order — each step addresses a deeper layer of “stuck.”
Why this happens
- Genuinely large updates: Feature updates legitimately keep TiWorker busy for hours — patience is sometimes the fix.
- Stuck update download: A corrupted or partial download that TiWorker can’t process but keeps retrying.
- Corrupted component store: Damage in WinSxS that makes every install operation fail and retry.
- Pending operations backlog: Multiple queued updates and component changes piling up.
- Corrupted SoftwareDistribution cache: The update download folder in a bad state.
- Third-party interference: Antivirus or “debloating” tools breaking update components.
- Insufficient disk space: Updates need working room; a full drive stalls the pipeline mid-operation.
How to fix it
Work through these in order — diagnose first, then act.
Fix 1: Check update status and give legitimate work time
Open Settings → Windows Update and look: is an update downloading, installing, or pending restart? Open Task Manager and correlate TiWorker CPU with that status. If an update is actively installing, let it finish — plug in, stay idle, give it up to two hours for a feature update. Check the update history for failed installs, which indicate the stuck pattern. Only proceed to active fixes if TiWorker has been hot for many hours with no update progressing, or if updates repeatedly fail. Killing legitimate update work creates the stuck state you’re trying to fix.
- Check Windows Update status for active or failed updates.
- Correlate TiWorker CPU with actual update activity.
- Allow up to two hours for legitimate feature-update work.
- Proceed only if stuck for many hours or updates keep failing.
Fix 2: Run the Windows Update troubleshooter
Go to Settings → System → Troubleshoot → Other troubleshooters → Windows Update → Run. The troubleshooter detects and repairs the common stuck states: stalled services, corrupted caches, misconfigured components. It’s automated and safe — let it complete, apply its fixes, and reboot. Then check Windows Update again: if previously-failed updates now install and TiWorker settles afterward, you’re done. This resolves a surprising share of TiWorker cases because the “stuck” state is often a trivial service or cache issue the troubleshooter was built to clear.
- Run the Windows Update troubleshooter.
- Apply all recommended fixes.
- Reboot and retry the failed updates.
- Verify TiWorker settles after updates complete.
Fix 3: Clear the SoftwareDistribution download cache
If the troubleshooter didn’t clear it, the download cache is likely corrupt. Open services.msc and stop the Windows Update service (wuauserv) and Background Intelligent Transfer Service (BITS). Then rename C:\Windows\SoftwareDistribution to SoftwareDistribution.old (don’t delete — renaming preserves a fallback). Restart both services and check Windows Update — it rebuilds a clean cache and re-downloads what’s needed. This clears the corrupted-download retry loop that keeps TiWorker spinning. Your update history resets, but installed updates remain installed.
- Stop the Windows Update and BITS services.
- Rename SoftwareDistribution to SoftwareDistribution.old.
- Restart both services.
- Check for updates and let them reinstall cleanly.
Fix 4: Repair the component store with DISM
TiWorker works directly on the WinSxS component store, so a corrupted store keeps it failing. In an admin Command Prompt, run DISM /Online /Cleanup-Image /RestoreHealth — this repairs the store using Windows Update as the source. If that fails (often because the update pipeline itself is broken), use a Windows 11 ISO as the source: mount the ISO and run DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:X:\Sources\Install.wim:1 (adjust the drive letter). Follow with sfc /scannow to repair system files. A healthy component store lets TiWorker complete its work instead of retrying forever. The ISO comes from the Windows 11 download page
.
- Run DISM RestoreHealth in an admin Command Prompt.
- Use a mounted ISO as source if the online repair fails.
- Follow with
sfc /scannow. - Retry updates and watch TiWorker complete normally.
Fix 5: Reset Windows Update components manually
For deeply stuck pipelines, reset the whole update stack. In an admin Command Prompt, stop the wuauserv, cryptSvc, bits, and msiserver services; rename SoftwareDistribution and Catroot2 folders (in System32); then restart all four services. This is the manual version of what the troubleshooter attempts — more thorough because you control each step. Alternatively, Microsoft’s official “reset Windows Update components” script automates the same sequence. After resetting, check for updates — the first scan takes longer as it rebuilds everything, then updates should flow normally. Microsoft documents component resets in the Windows support hub
.
- Stop the four update-related services.
- Rename SoftwareDistribution and Catroot2 folders.
- Restart all four services.
- Run a full update check and let it complete.
Fix 6: Free disk space and check for the bigger picture
Updates need elbow room — ensure at least 15–20GB free on C: (feature updates need more). If space is tight, the pipeline stalls mid-operation and TiWorker spins. Clear space with Disk Cleanup’s system-files mode. Then step back: if TiWorker is calm but idle CPU is still high, other processes may be contributing — run the general identification from the Lenovo high-CPU guide to catch them. And if a specific update repeatedly fails even after all repairs, check the update-troubleshooting angle and consider manually installing the KB from the Update Catalog .
- Ensure 15–20GB+ free on the system drive.
- Clear space with Disk Cleanup if needed.
- Check for other idle-CPU contributors.
- Manually install stubborn KBs from the Update Catalog.
Closing
TiWorker high CPU is the update pipeline crying for help — and the pipeline has a specific repair order: let real work finish, troubleshoot, clear the cache, repair the store, reset the components. Work it top to bottom and the stuck state clears, updates flow again, and TiWorker returns to its proper behavior: busy during updates, silent the rest of the month.
