Unity Hub 2.2.1 seems to be altering the environmental variables that are passed along to Unity when launched.
The resulting variables can break unity if you have a PATHEXT user variable which includes its system variable.
For example: %PATHEXT%;.rb;.rbw will turn into something like %PATHEXT%;.rb;.rbw;.rb;.rbw;.rb;.rbw;.rb;.rbw;.rb;.rbw
Similarly, any environmental variables that the Unity Hub interited from its parent process (explorer) are lost in the process.
An example of this is the USERNAME variable, which will be SYSTEM instead of your currently logged in username, as this should be interited from explorer.exe.