PEERDIST Error 0X00000FDF: Invalid Config Fix
This error means the BranchCache or PeerDist service has a corrupt or misconfigured setting. Usually from a bad registry tweak or service crash.
Cause 1: Corrupt BranchCache Service State (most common)
The PeerDist service (Peer Distribution Service) relies on the BranchCache engine under the hood. What's actually happening here is that the BranchCache service has stored a configuration value that doesn't match what Windows expects — usually after a failed update, a network change, or a registry cleaner nuking something it shouldn't have. The error 0X00000FDF means "a configuration value is invalid," and nine times out of ten, it's the BranchCache database or its service state that's gone sideways.
The fix: Reset the BranchCache service state completely. Don't bother with a repair install or SFC — they won't touch this. Open PowerShell as Administrator and run:
Stop-Service PeerDistSvc -Force
Stop-Service BranchCache -Force
net stop peerdistsvc /y
net stop branchcache /y
del /f /s /q "C:\Windows\ServiceProfiles\NetworkService\AppData\Local\PeerDistRepub\*.*"
rd /s /q "C:\Windows\ServiceProfiles\NetworkService\AppData\Local\PeerDistRepub" 2>nul
netsh branchcache reset
Start-Service BranchCache
Start-Service PeerDistSvc
The reason step 3 works is that it wipes the PeerDistRepub folder where BranchCache stores its configuration blobs. Without that folder, the service has to recreate it from scratch with fresh defaults. After that, restart both services in the correct order — BranchCache first, then PeerDistSvc — because PeerDistSvc depends on BranchCache being available.
If you get an access denied on the delete, you might need to take ownership first (but usually the network service profile already has permissions).
Cause 2: Registry Key Corruption in PeerDist Configuration
Sometimes the problem isn't the service state files — it's the registry. The PeerDist service reads its configuration from HKLM\SYSTEM\CurrentControlSet\Services\PeerDistSvc\Parameters. If a value there got set to an out-of-range integer, a string where a DWORD is expected, or the key itself got deleted, you'll see 0X00000FDF.
I've seen this happen after Windows Feature updates (22H2 to 23H2, for example) where the upgrade left orphaned registry entries, or after third-party registry cleaners. The hardest part is that Event Viewer won't tell you which value is wrong — it just spits out the error code.
The fix: Delete the entire Parameters key and let the service rebuild it. Export a backup first if you're nervous:
reg export "HKLM\SYSTEM\CurrentControlSet\Services\PeerDistSvc\Parameters" C:\peerdist_backup.reg
reg delete "HKLM\SYSTEM\CurrentControlSet\Services\PeerDistSvc\Parameters" /f
Now restart the PeerDist service:
net stop peerdistsvc
net start peerdistsvc
Windows will recreate the Parameters key with default values on service start. That's the cleanest way — you don't need to guess which value is bad. After this, the error should clear. If it doesn't, the issue is likely in Cause 1 or Cause 3.
Cause 3: Network Profile Corruption (Group Policy conflict)
This one's sneaky. The PeerDist service reads its configuration from both the registry and the network location profile tied to your active network connection. If you're on a domain, Group Policy can enforce a specific BranchCache mode (distributed, hosted, or disabled). If that policy value conflicts with the local service state, you get the invalid configuration error.
Scenario: You're on a corporate laptop you took home. The office network had a Group Policy setting BranchCache to distributed mode. At home, the network profile is private, but the cached policy still tells BranchCache to run distributed mode — except the home network might not have the necessary discovery infrastructure. The service chokes and throws 0X00000FDF.
The fix: First, check the active BranchCache mode:
netsh branchcache show status
Look at the "Current Configuration" line. If it says "Distributed" but you're not on a domain, that's the mismatch. Force it to a working state:
netsh branchcache set mode=DISABLED
net stop branchcache
net start branchcache
netsh branchcache set mode=DISTRIBUTED
net stop branchcache
net start branchcache
This resets the mode negotiation. If you're on a corporate machine and can't change it, run gpupdate /force then gpresult /r to see which policy is applying. You might need to disconnect from the domain network and remove cached credentials — or just disable BranchCache entirely via services.msc if you don't actually use peer distribution.
Quick-Reference Summary Table
| Cause | Likelihood | Fixes to Try |
|---|---|---|
| Corrupt BranchCache service state files | High | Wipe PeerDistRepub folder, reset BranchCache via netsh |
| Corrupt registry Parameters key | Medium | Delete Parameters key, restart PeerDistSvc |
| Group Policy / network profile conflict | Medium (domain machines) | Reset BranchCache mode, run gpupdate |
If none of these work, you're looking at a deeper system file corruption — but that's rare. Try a dism /online /cleanup-image /restorehealth followed by sfc /scannow as a last resort. 95% of the time, it's one of the three causes above.
Was this solution helpful?