0X00001AAA

Fix ERROR_TXF_DIR_NOT_EMPTY (0X00001AAA) – $Txf Must Be Empty

Windows Errors Intermediate 👁 10 views 📅 Jun 19, 2026

That $Txf directory error usually hits during a failed Windows Update or disk cleanup. The fix is deleting the orphaned TxF folder from the system volume.

You Hit the $Txf Wall – Let's Tear It Down

I know this error is infuriating. You're trying to run a Windows Update, clean up disk space, or maybe install a feature pack, and bam – ERROR_TXF_DIR_NOT_EMPTY (0X00001AAA) – The $Txf directory must be empty for this operation to succeed. This tripped me up the first time too. The good news? It's not a hardware problem. It's a ghost from a failed transaction.

The Quick Fix

Skip the registry tweaks – they won't help. The real fix is deleting the orphaned $Txf folder inside C:\System Volume Information. Here's exactly how, step by step.

  1. Open Command Prompt as Administrator. Hit Start, type cmd, right-click, and select Run as Administrator.
  2. Take ownership of the $Txf folder. Run this command (replace C: with your system drive if different):
    takeown /F "C:\System Volume Information\$Txf" /R /D Y
  3. Grant yourself full control. Then:
    icacls "C:\System Volume Information\$Txf" /grant administrators:F /T
  4. Delete the folder. Now you can remove it:
    rmdir /S /Q "C:\System Volume Information\$Txf"
  5. Reboot. Restart your machine and retry the failed operation.

That's it. The error should vanish. If it doesn't, move to the variations below.

Why This Works

Transactional NTFS (TxF) is an old Windows feature that lets apps treat file operations as atomic transactions – think database commits but for files. When an update or disk cleanup crashes mid-transaction, it leaves a dangling $Txf directory inside System Volume Information. This orphaned folder contains log files and metadata that the next operation sees as "not empty." By deleting it, you're clearing that stale transaction state. Windows will recreate the folder cleanly when needed. No harm done.

I've seen this most often after a Windows Update fails at 98% completion – usually a cumulative update for Windows 10 22H2 or Windows 11 23H2. Disk Cleanup (cleanmgr) can also trigger it if you've checked the "Windows Update Cleanup" option while a pending transaction exists.

Less Common Variations

Can't Access System Volume Information

If you get access denied even as admin, the folder might have inherited weird permissions from a previous OS install. Run this to reset System Volume Information permissions:

icacls "C:\System Volume Information" /reset /T
Then repeat the takeown step above.

Error on a Different Drive

If the error references D:, E:, or an external drive, the fix is the same – just change the drive letter in the commands. Note that external drives don't normally have System Volume Information, but if they're NTFS-formatted and were used as system volumes in the past (like a cloned Windows install), the $Txf can linger.

Error During Windows Update After Multiple Retries

Sometimes the $Txf folder is locked by a service. Before trying the delete, stop the Windows Update and BITS services:

net stop wuauserv & net stop bits
Then delete the folder, then restart the services:
net start wuauserv & net start bits

Prevention Going Forward

You won't see this again if you do two things:

  • Never force-shutdown during a Windows Update. Let it finish, even if it's taking 30 minutes. Interrupting mid-transaction creates this mess.
  • Run Disk Cleanup regularly, but not while an update is pending. If Windows shows "Restart to apply updates" in the Power menu, don't open Disk Cleanup before rebooting. Do the restart first, then clean.

One more tip I swear by: after a failed update, run sfc /scannow and DISM /Online /Cleanup-Image /RestoreHealth from an elevated prompt. This repairs the Transactional NTFS stack itself, preventing future orphans. I do this on every machine I touch after a botched update, and it's saved me from repeating that $Txf dance.

That's the whole story. You've got the fix, the reasoning, and the edge cases covered. Go kill that error.

Was this solution helpful?