You cannot select this target version for the following reasons. Select a different target version to proceed.
Cannot upgrade to VCF version 9.0.1.0 for domain [Domain-ID] in a compatible way: not upgradable: NSX_T_MANAGER 4.2.3.3.0.25171318 -> NSX_T_MANAGER 9.0.1.0.24952111; not interoperable: . If you have Standalone Host(s), please follow https://knowledge.broadcom.com/external/article?articleNumber=384976 to upgrade/patch them out of band through vCenter Server."
Cannot upgrade to VCF version 9.0.2.0 for domain [Domain ID] in a compatible way: not upgradable: NSX_T_MANAGER 4.2.3.3.0.25171318 -> NSX_T_MANAGER 9.0.2.0.25150386; not interoperable: . If you have Standalone Host(s), please follow https://knowledge.broadcom.com/external/article?articleNumber=384976 to upgrade/patch them out of band through vCenter Server.
This failure is caused by a "Back-in-Time" upgrade restriction. By design, VMware does not support upgrading a newer software build to an older software build, even if the major version number (9.x vs 4.x) suggests an upward trajectory.
VMware NSX 9.0.2.0: Released January 20, 2026 (Build 25150912)
Because NSX 4.2.3.3 was released after the VCF 9.0.1/9.0.2 bundle (and specifically the NSX 9.0.1.0/9.0.2.0 build), the system flags this as an unsupported back-in-time operation and blocks the upgrade path.
You have two options to resolve this blocker. Option 1 is the least disruptive, while Option 2 provides a workaround if an immediate upgrade to VCF 9.0.1/9.0.2 is required.
Option 1: Wait for the Next VCF Release (Recommended)
If there is no strict business deadline to upgrade to 9.0.1/9.0.2, the safest path is to wait for the next VCF release. The NSX version bundled with the next VCF release will have a newer build date than NSX 4.2.3.3, allowing for a standard, supported upgrade path.
Option 2: Un-prepare NSX, Remove Domain, and Redeploy (Workaround)
If you must upgrade to VCF 9.0.1/9.0.2 immediately, you can unprepare the vCenter clusters for NSX, remove the domain from the SDDC Manager inventory, and re-import the vCenter using a custom, compatible NSX version.
Please check the interoperability matrix here for the compatible VMware NSX Versions for VMware vCenter versions.
Please check the upgrade compatibility matrix here for VMware NSX if upgrade is planned after the Brownfield import.
Follow the steps below to perform the workaround:
curl -i -X DELETE http://localhost/inventory/extensions/vi/nsxtclusterdomains/<domain-id from Step 1(c)>
TOKEN=$(curl -H 'Content-Type:application/json' https://localhost/v1/tokens -d '{"username" : "<SSO_USERNAME>","password":"<SSO_Password>"}' -k | jq -r '.accessToken')
curl -k -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -X GET https://localhost/v1/hosts?domainId=<domain-id from Step 1(c)> | json_pp
Sample output
[
{
"id": "<ID of the host from step#4(b)(ii)>"
},
{
"id": "<ID of the host from step#4(b)(ii)>"
},
{
"id": "<ID of the host from step#4(b)(ii)>"
},
{
"id": "<ID of the host from step#4(b)(ii)>"
}
]
curl -s -X DELETE http://localhost/inventory/extensions/decommission/hosts -H "Content-Type: application/json" -d @ESXiIds.json
curl -s -X DELETE http://localhost/inventory/extensions/vi/domains/<domain-id from Step 1(c)>
Invoke Method in the bottom right corner. Close the pop-up and refresh the ExtensionManager page to ensure it is removed.