This article explains how to resolve an issue where storage paths to LUNs from a specific storage array are marked as "Dead" or categorized as an "Unregistered Device" on an ESXi host. This behavior occurs even when the storage array confirms the zoning and masking are configured correctly.
esxcli storage san fc list output confirms that the FC HBAs are online, active, and functioning.(e.g., vmhba3:C0:T7:L61 and L62).2026-08-04T06:09:22.010Z In(182) vmkernel: cpu31:2098031)ScsiClaimrule: 2523: Error claiming path vmhba3:C0:T7:L61. Failure.2026-08-04T06:09:22.010Z Wa(180) vmkwarning: cpu31:2098031)WARNING: NMP: nmp_PspSet:525: Switching to claimrule PSP "VMW_PSP_RR" for device Unregistered Device.2026-08-04T06:09:22.010Z Wa(180) vmkwarning: cpu31:2098031)WARNING: NMP: nmp_SatpClaimPath:2188: SATP "VMW_SATP_ALUA" could not add path "vmhba3:C0:T7:L62" for device "Unregistered Device". Error Not supported2026-08-04T06:09:22.010Z Wa(180) vmkwarning: cpu31:2098031)WARNING: NMP: nmp_DeviceAlloc:2184: nmp_AddPathToDevice failed Not supported (195887136).2026-08-04T06:09:22.010Z Wa(180) vmkwarning: cpu31:2098031)WARNING: NMP: nmp_DeviceAlloc:2205: Could not allocate NMP device.2026-08-04T06:09:22.010Z Wa(180) vmkwarning: cpu31:2098031)WARNING: ScsiPath: 7748: Plugin 'NMP' had an error (Not supported) while claiming path 'vmhba3:C0:T7:L62'. Skipping the path.2026-08-04T06:09:22.010Z In(182) vmkernel: cpu31:2098031)ScsiClaimrule: 2041: Plugin NMP specified by claimrule 65535 was not able to claim path vmhba3:C0:T7:L62: Busy
esxcli storage nmp satp rule remove).
The issue is caused by the presence of multiple, conflicting user-defined NMP (Native Multipathing Plugin) claim rules stored within the ESXi ConfigStore database. These user-defined rules override the system's default SATP (Storage Array Type Plugin) rule, preventing ESXi from correctly claiming the storage LUNs.
Follow these steps to remove conflicting rules:
configstorecli config current get -c esx -g storage -k nmp_claim_rules -outfile /tmp/nmp_rules.json/tmp/nmp_rules.json to identify the cs_generated_id for conflicting "User Perm" rules or other conflicting entries.configstorecli config current delete -c esx -g storage -k nmp_claim_rules -i "<cs_generated_id>" (Repeat this command for each unique cs_generated_id identified in step 2esxcli storage core claimrule loadesxcli storage adapter rescan --all