Error 0x800F0900 has a habit of appearing right when an update should be finishing. The download completes, the install begins, and then Windows Update reports failure with this code and no helpful context. Under the hood, the meaning is precise: the servicing stack tried to read the update’s XML manifest — the file that inventories every component in the package — and the parse failed. No manifest, no install.
On Windows 11 this almost always comes down to two culprits: a corrupted download sitting in the update cache, or damage in the component store that prevents manifest processing. Both are repairable without drastic measures. The sequence below starts with the cache, moves through store repair, and ends with the manual install that sidesteps the whole problem.
Every Windows update carries a manifest — an XML document inventorying each file, its hash, and where it belongs. The servicing stack parses this manifest before touching a single system file, because installing from an unreadable manifest risks an inconsistent system. Error 0x800F0900 means that parse failed: truncated XML from an interrupted download, a manifest altered by disk corruption, or a store too damaged to validate against. The stack did exactly the right thing by refusing. Your job is to give it a manifest it can read.
Why this happens
- A truncated manifest in the update cache. An interrupted download leaves an XML manifest that ends mid-file, which the parser rejects immediately.
- Component store corruption. Damage in WinSxS breaks the baseline the manifest is validated against, failing the parse.
- Disk errors altering cached files. Bad sectors or file-system damage silently corrupt the manifest after a successful download.
- A mismatched or superseded package. Stale metadata serves a manifest that does not match the actual package revision.
- Antivirus quarantining part of the package. Security software removing a staged file leaves the manifest referencing something that no longer exists.
- Servicing stack too old for the package format. An outdated stack cannot parse manifests from newer update revisions.
- Concurrent update operations colliding. Two update processes staging packages simultaneously can corrupt each other’s manifests.
How to fix it
Work through these in order — diagnose first, then act.
Fix 1: Identify the failing KB and clear the update cache
The corrupted manifest lives in the cache — remove it first.
- Open Settings > Windows Update > Update history and note the KB number behind the 0x800F0900 error.
- In an elevated Command Prompt, stop wuauserv, cryptSvc, bits, and msiserver.
- Rename
C:\Windows\SoftwareDistributionandC:\Windows\System32\catroot2with.oldsuffixes. - Restart the services and check for updates, letting the KB download completely fresh.
Fix 2: Run the Windows Update troubleshooter
Covers the registration and service faults that can accompany a manifest failure.
- Go to Settings > System > Troubleshoot > Other troubleshooters.
- Run Windows Update, apply all fixes, and restart.
- Retry the update once on the clean cache.
- If 0x800F0900 returns for the same KB, the problem is deeper than the cache.
Fix 3: Repair the component store with DISM
Manifest parsing depends on a healthy store — repair it directly.
- Run
DISM /Online /Cleanup-Image /RestoreHealthfrom an elevated Command Prompt. - Wait for full completion; do not interrupt it.
- Follow with
sfc /scannowand restart. - Retry the update. This resolves the related invalid package error 0x800F080A by the same mechanism.
Fix 4: Check the disk for corruption
If fresh downloads keep producing unparseable manifests, suspect the storage.
- Run
chkdsk C: /ffrom an elevated Command Prompt and reboot to scan. - Check Event Viewer > Windows Logs > Application (Wininit source) for the results.
- Clear the update cache once more after any repairs.
- Retry the download — a healthy disk plus a clean cache should yield a valid manifest.
Fix 5: Install the KB manually from the Update Catalog
Bypass the Windows Update download path entirely.
- Find the exact KB number from your update history.
- Download the x64 package from the Microsoft Update Catalog .
- Run the .msu installer and restart when prompted.
- The standalone installer parses the manifest independently of the damaged cache. If it succeeds, your update pipeline needed only a clean package.
Fix 6: Update the servicing stack first if the KB is new
An old stack chokes on new manifests — update the stack, then the KB.
- Search the Microsoft Update Catalog for the latest servicing stack update for your build.
- Install the SSU, restart, then install the cumulative KB manually.
- Alternatively, let Windows Update pull the SSU naturally after the cache clear, then retry the KB.
- Stack-first ordering prevents a whole class of manifest errors.
Fix 7: In-place upgrade repair for persistent failures
When 0x800F0900 survives every targeted repair, rebuild the servicing infrastructure.
- Download the Media Creation Tool from Microsoft’s official Windows 11 download site.
- Run setup.exe inside Windows and choose Keep personal files and apps.
- Complete the repair install (30 to 90 minutes).
- Run Windows Update afterward — with a rebuilt store and stack, manifests parse normally. For the full repeat-failure playbook, see cumulative update fails every time on Windows 11 .
Fix 8: Run an offline DISM repair with ISO source
When online DISM cannot repair the store, give it clean source files.
- Download the Windows 11 ISO from Microsoft’s official site and mount it (double-click).
- Note the drive letter, then run
DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:X:\Sources\Install.wim:1with your letter. - Wait for completion — the local source bypasses download problems entirely.
- Follow with
sfc /scannow, restart, and retry the update against the repaired store.
Closing
Error 0x800F0900 is the servicing stack telling you it cannot read the update’s manifest — a data problem, not a system death sentence. Fresh downloads, a repaired component store, and a healthy disk resolve it in nearly every case, and the manual Catalog install routes around the damaged path when Windows Update cannot. Once the KB installs cleanly, the parser error is gone for good.
