TiWorker.exe — the Windows Modules Installer Worker — is supposed to work hard. It installs updates, enables optional features, and repairs the component store. The problem starts when it never stops: fans screaming, battery draining, and one CPU core pinned at 100% for hours after an update that should have finished long ago.
The best way to fix it is not to kill the process and hope. It is a short, ordered routine: confirm what it is doing, give legitimate work a chance to finish, then repair the update pipeline that is keeping it stuck. Follow this sequence and you will know exactly which case you have.
Why this happens
- Post-update component cleanup: After a cumulative or feature update, TiWorker compresses superseded components and cleans the WinSxS store. On slower laptops this legitimately takes hours.
- A stuck update loop: A failed update keeps retrying its install phase, and TiWorker restarts the same doomed job every time.
- Corrupted component store: Damaged files in WinSxS force the installer worker to repeatedly attempt repairs that never complete.
- Conflicting third-party software: Antivirus filters and “optimizer” tools can block the files TiWorker needs, so it retries endlessly.
- Pending reboot jobs: Updates waiting on a restart keep TiWorker active across sessions until the reboot actually happens.
- Low disk space: With little free space, cleanup operations crawl and the worker spins far longer than it should.
- Failing storage: A dying SSD or HDD makes every file operation slow, stretching normal installer work into an all-day event. Persistent slowness pairs with the stuck update downloads many users see alongside it.
- Paused-then-resumed update states: Interrupting updates mid-install leaves the component store in a half-applied state that TiWorker keeps trying to resolve.
How to fix it
Work through these in order — diagnose first, then act.
Fix 1: Check what it is doing, then give it a fair window
- Open Task Manager → Details, find TiWorker.exe, and note its CPU and disk activity.
- Open Settings → Windows Update and check whether an update is actively installing or pending a restart.
- If an update is genuinely in progress, plug in the charger, close your apps, and give it up to two hours of idle time.
- If nothing is installing and TiWorker has run hot for over six hours, move on — it is stuck, not busy.
Fix 2: Restart and clear the pending reboot queue
- Save your work and do a full Restart (not shutdown with fast startup) from the Start menu.
- After rebooting, check Settings → Windows Update and install anything pending, rebooting again if asked.
- Many TiWorker marathons end here: the worker was waiting on a reboot that fast startup kept deferring.
- If the spike returns within an hour of a clean boot with no pending updates, continue.
Fix 3: Repair the component store with DISM
- Open Terminal (Admin) or an elevated Command Prompt.
- Run
DISM /Online /Cleanup-Image /RestoreHealthand let it complete — this can take 15–30 minutes. - Follow with
sfc /scannowto repair protected system files. - Reboot and watch TiWorker for an hour. A repaired component store removes the most common reason the installer worker loops forever. Microsoft documents these repair tools on the Windows support hub .
Fix 4: Reset the Windows Update components
- In an elevated Command Prompt, stop the services:
net stop wuauserv,net stop cryptSvc,net stop bits,net stop msiserver. - Rename the caches:
ren C:\Windows\SoftwareDistribution SoftwareDistribution.oldandren C:\Windows\System32\catroot2 catroot2.old. - Restart all four services with the matching
net startcommands. - Check for updates again. Fresh caches give TiWorker a clean job queue instead of the corrupted one it was choking on.
Fix 5: Run the Windows Update troubleshooter
- Go to Settings → System → Troubleshoot → Other troubleshooters.
- Run the Windows Update troubleshooter and apply every fix it suggests.
- Reboot when it asks, then check for updates manually.
- The troubleshooter catches misconfigured services and permissions that manual steps miss, and it is safe to run repeatedly.
Fix 6: Update chipset and storage drivers
- Identify your platform and grab fresh chipset drivers — Intel’s Driver & Support Assistant detects and installs the right ones automatically.
- Update your storage/NVMe driver from the laptop maker’s support page as well.
- Reboot and observe. Slow or buggy storage drivers make TiWorker’s file-heavy work take far longer than it should, mimicking a stuck process. On Dell machines the same workload is covered in our Dell-focused TiWorker guide .
Fix 7: Rule out third-party interference with a clean boot
- Press Win + R, type
msconfig, and on the Services tab check Hide all Microsoft services, then Disable all. - In Task Manager → Startup apps, disable everything, then reboot.
- If TiWorker behaves in a clean boot, re-enable services in halves until the culprit returns — usually an antivirus filter or system “tweaker.”
- Remove or replace the offending program rather than living in a permanent clean boot.
Fix 8: Set active hours and use a metered connection strategy
- Open Settings → Windows Update → Advanced options and set Active hours to cover your workday so installs happen overnight.
- On a metered Wi-Fi connection, Windows defers most updates; use this on travel networks to keep TiWorker from firing at bad times.
- Schedule a weekly plugged-in idle window — for example Sunday night — and let pending updates install then.
- Controlling when the installer worker runs turns a disruptive CPU spike into background maintenance you never notice.
Closing
TiWorker.exe at high CPU is usually either honest post-update work or a stuck installer loop, and the sequence above tells you which within a day. Give real work time to finish, repair the component store with DISM, reset the update caches, and update your chipset drivers. Do that, and the fans go quiet for the right reason: the job is actually done.
