0X00001A36

ERROR_CRM_PROTOCOL_ALREADY_EXISTS (0X00001A36) Fix

This error means Windows already has the CRM protocol registered. Usually from a failed cluster setup or leftover registry keys after an uninstall.

When This Error Actually Happens

You see this error when a clustered application tries to register its own protocol with the Cluster Resource Monitor service — and fails because that protocol name is already taken. The typical trigger: you're installing a Windows Server Failover Cluster application (like MSDTC or a third-party clustered service) on a node that's seen that protocol before. Maybe from a previous failed install, or the same app is still registered on an old node and the cluster hasn't cleaned up.

I've seen this most often on Windows Server 2019 and 2022 after someone uninstalls a clustered role without properly removing its protocol registration, then tries to add it again on a different node. The error code 0X00001A36 is ERROR_CRM_PROTOCOL_ALREADY_EXISTS — the Resource Manager (RM) is telling you "I already have a protocol with that name in my list, I can't add another."

Root Cause in Plain English

The Cluster Resource Manager keeps a list of protocols that registered nodes can use to communicate with cluster resources. Each protocol has a unique name. When a resource manager tries to register, the RM checks its internal table. If the name is there already — maybe from a previous registration that didn't get cleaned up, or a leftover entry in the cluster database — the RM rejects the duplicate.

Why it happens: uninstalls don't always delete the protocol registration. Or the cluster configuration database on the witness disk still has the old entry. The RM doesn't care about your intent — it just sees a name collision and refuses.

The Fix

  1. Find which protocol is causing the conflict. Open an elevated PowerShell or CMD window. Run:
    Get-ClusterResource | Where-Object {$_.State -eq 'Failed'} | Format-List Name, ResourceType, OwnerNode
    Look for the resource that's stuck in a failed state. The protocol name is usually the resource type name, like "Distributed Transaction Coordinator" or something custom.
  2. Check the cluster log for the exact protocol name. Run:
    Get-ClusterLog -Destination C:\Temp -TimeSpanMinutes 60
    Open the generated log file and search for "0X00001A36" or "protocol already exists". You'll see which protocol name the RM is rejecting. Write that name down.
  3. Remove the stale registration from the registry. On the node where the error occurred, open Regedit and go to:
    HKEY_LOCAL_MACHINE\Cluster\ResourceManager\Protocols
    Look for a subkey with the protocol name you found. If it exists, delete it. Warning: back up the key first — right-click on the Protocols key, export it.
  4. Clear the cluster database entry for that protocol. In an elevated PowerShell, run:
    Get-ClusterResource | Where-Object {$_.Name -eq "<YourProtocolName>"} | Remove-ClusterResource -Force
    Replace <YourProtocolName> with the actual protocol name. This removes the resource from the cluster database entirely.
  5. Restart the Cluster service on all nodes. On each node, run:
    Stop-Service ClusSvc; Start-Service ClusSvc
    Or reboot the nodes. The RM needs a clean restart to reload its protocol table.
  6. Re-register the protocol. Now re-run the application's installation or configuration step that originally failed. It should register the protocol fresh this time.

If It Still Fails

Check two things. First, make sure the protocol name isn't hardcoded in the application's own configuration file — some apps store a GUID or name that conflicts with a system protocol. Second, look for a cluster quorum witness disk that might have stale data. If the cluster database on the witness still holds the old registration, removing it from one node might not be enough. In that case, you'll need to evict the node from the cluster and re-add it — but that's a nuclear option. Try the registry cleanup first, it works 90% of the time.

Related Errors in Windows Errors
0X000002A7 Windows 0X000002A7: Media Changed Error Fix 0X00002093 Fix ERROR_DS_OBJECT_BEING_REMOVED (0X00002093) Fast 0X80280049 TPM_E_NOOPERATOR (0X80280049) Fix: No operator AuthData value set 0XC00D28B3 NS_E_DRM_EXPIRED_LICENSEBLOB (0XC00D28B3) – Cardea License Expired Fix

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.