diff --git a/src/dotnet-core-uninstall/LocalizableStrings.Designer.cs b/src/dotnet-core-uninstall/LocalizableStrings.Designer.cs
index 6f49e3b1..7cda50d1 100644
--- a/src/dotnet-core-uninstall/LocalizableStrings.Designer.cs
+++ b/src/dotnet-core-uninstall/LocalizableStrings.Designer.cs
@@ -308,6 +308,15 @@ internal static string MacOsBundleDisplayNameFormat {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Keep SDKs required for Visual Studio for Mac (Visual Studio for Mac is no longer supported).
+        /// </summary>
+        internal static string MacOSPreserveVSSdksOptionDescription {
+            get {
+                return ResourceManager.GetString("MacOSPreserveVSSdksOptionDescription", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to 
         ///{0}: {1}
@@ -335,7 +344,7 @@ internal static string MacRequiredBundleConfirmationPromptWarningFormat {
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove.
+        ///   Looks up a localized string similar to Used by SDKs. Specify individually or use —-force to remove.
         /// </summary>
         internal static string MacRuntimeRequirementExplanationString {
             get {
@@ -344,7 +353,7 @@ internal static string MacRuntimeRequirementExplanationString {
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Used by Visual Studio for Mac. Specify individually or use —-force to remove.
+        ///   Looks up a localized string similar to Used by Visual Studio for Mac (Visual Studio for Mac is no longer supported). Specify individually or use —-force to remove.
         /// </summary>
         internal static string MacSDKRequirementExplanationString {
             get {
@@ -587,7 +596,7 @@ internal static string UninstallNoOptionArgumentName {
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs..
+        ///   Looks up a localized string similar to Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs..
         /// </summary>
         internal static string UninstallNoOptionDescriptionMac {
             get {
diff --git a/src/dotnet-core-uninstall/LocalizableStrings.resx b/src/dotnet-core-uninstall/LocalizableStrings.resx
index daf50328..7c51f93e 100644
--- a/src/dotnet-core-uninstall/LocalizableStrings.resx
+++ b/src/dotnet-core-uninstall/LocalizableStrings.resx
@@ -339,13 +339,10 @@ The versions that can be uninstalled with this tool are:
 </value>
   </data>
   <data name="UninstallNoOptionDescriptionMac" xml:space="preserve">
-    <value>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</value>
+    <value>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</value>
   </data>
   <data name="MacRuntimeRequirementExplanationString" xml:space="preserve">
-    <value>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</value>
-  </data>
-  <data name="MacSDKRequirementExplanationString" xml:space="preserve">
-    <value>Used by Visual Studio for Mac. Specify individually or use —-force to remove</value>
+    <value>Used by SDKs. Specify individually or use —-force to remove</value>
   </data>
   <data name="MacListCommandOutput" xml:space="preserve">
     <value>
diff --git a/src/dotnet-core-uninstall/Shared/Commands/CommandBundleFilter.cs b/src/dotnet-core-uninstall/Shared/Commands/CommandBundleFilter.cs
index aa045d37..2a513a78 100644
--- a/src/dotnet-core-uninstall/Shared/Commands/CommandBundleFilter.cs
+++ b/src/dotnet-core-uninstall/Shared/Commands/CommandBundleFilter.cs
@@ -13,6 +13,7 @@
 using Microsoft.DotNet.Tools.Uninstall.Shared.VSVersioning;
 using NuGet.Versioning;
 using System.CommandLine.Parsing;
+using System.CommandLine.Binding;
 
 namespace Microsoft.DotNet.Tools.Uninstall.Shared.Commands
 {
@@ -23,6 +24,7 @@ public static IEnumerable<Bundle> GetFilteredBundles(IEnumerable<Bundle> allBund
             var option = parseResult.CommandResult.GetUninstallMainOption();
             var typeSelection = parseResult.GetTypeSelection();
             var archSelection = parseResult.GetArchSelection();
+            var macOSPreserveVSSdks = parseResult.ValueForOption<bool>(CommandLineConfigs.MacOSPreserveVSSdksOption);
             var bundles = allBundles;
 
             if (option == null)
@@ -50,7 +52,7 @@ public static IEnumerable<Bundle> GetFilteredBundles(IEnumerable<Bundle> allBund
 
             if (parseResult.FindResultFor(CommandLineConfigs.ForceOption) == null)
             {
-                bundles = FilterRequiredBundles(allBundles, parseResult.CommandResult.Tokens).Intersect(bundles);
+                bundles = FilterRequiredBundles(allBundles, parseResult.CommandResult.Tokens, macOSPreserveVSSdks).Intersect(bundles);
             }
             if (bundles.Any(bundle => bundle.Version.SemVer >= VisualStudioSafeVersionsExtractor.UpperLimit))
             {
@@ -63,17 +65,18 @@ public static IDictionary<Bundle, string> GetFilteredWithRequirementStrings(IBun
         {
             var allBundles = bundleCollector.GetAllInstalledBundles();
             var filteredBundles = GetFilteredBundles(allBundles, parseResult);
-            return VisualStudioSafeVersionsExtractor.GetReasonRequiredStrings(allBundles)
+            var macOSPreserveVSSdks = parseResult.ValueForOption<bool>(CommandLineConfigs.MacOSPreserveVSSdksOption);
+            return VisualStudioSafeVersionsExtractor.GetReasonRequiredStrings(allBundles, macOSPreserveVSSdks)
                     .Where(pair => filteredBundles.Contains(pair.Key))
                     .ToDictionary(i => i.Key, i => i.Value);
         }
 
-        private static IEnumerable<Bundle> FilterRequiredBundles(IEnumerable<Bundle> allBundles, IEnumerable<Token> tokens)
+        private static IEnumerable<Bundle> FilterRequiredBundles(IEnumerable<Bundle> allBundles, IEnumerable<Token> tokens, bool macOSPreserveVSSdks)
         {
             var explicitlyListedBundles = tokens
                 .Where(token => SemanticVersion.TryParse(token.Value, out SemanticVersion semVerOut))
                 .Select(token => SemanticVersion.Parse(token.Value));
-            return VisualStudioSafeVersionsExtractor.GetUninstallableBundles(allBundles)
+            return VisualStudioSafeVersionsExtractor.GetUninstallableBundles(allBundles, macOSPreserveVSSdks)
                 .Concat(allBundles.Where(b => explicitlyListedBundles.Contains(b.Version.SemVer)))
                 .Distinct()
                 .ToList();
diff --git a/src/dotnet-core-uninstall/Shared/Commands/ListCommandExec.cs b/src/dotnet-core-uninstall/Shared/Commands/ListCommandExec.cs
index d7d77da8..a14cbddc 100644
--- a/src/dotnet-core-uninstall/Shared/Commands/ListCommandExec.cs
+++ b/src/dotnet-core-uninstall/Shared/Commands/ListCommandExec.cs
@@ -73,7 +73,9 @@ public static Dictionary<BundleTypePrintInfo, Dictionary<Bundle, string>> GetFil
             IEnumerable<BundleTypePrintInfo> supportedBundleTypes,
             ParseResult parseResult)
         {
-            var uninstallMap = VisualStudioSafeVersionsExtractor.GetReasonRequiredStrings(bundles);
+            bool macOSPreserveVSSdks = parseResult.ValueForOption<bool>(CommandLineConfigs.MacOSPreserveVSSdksOption);
+
+            var uninstallMap = VisualStudioSafeVersionsExtractor.GetReasonRequiredStrings(bundles, macOSPreserveVSSdks);
 
             var typeSelection = parseResult.GetTypeSelection();
             var archSelection = parseResult.GetArchSelection();
diff --git a/src/dotnet-core-uninstall/Shared/Configs/CommandLineConfigs.cs b/src/dotnet-core-uninstall/Shared/Configs/CommandLineConfigs.cs
index be2163bb..06342239 100644
--- a/src/dotnet-core-uninstall/Shared/Configs/CommandLineConfigs.cs
+++ b/src/dotnet-core-uninstall/Shared/Configs/CommandLineConfigs.cs
@@ -140,6 +140,10 @@ internal static class CommandLineConfigs
             RuntimeInfo.RunningOnWindows ? LocalizableStrings.ForceOptionDescriptionWindows
             : LocalizableStrings.ForceOptionDescriptionMac);
 
+        public static readonly Option MacOSPreserveVSSdksOption = new Option(
+            "--preserve-vs-for-mac-sdks", 
+            LocalizableStrings.MacOSPreserveVSSdksOptionDescription);
+
         public static readonly Option[] UninstallFilterBundlesOptions = new Option[]
         {
             UninstallAllOption,
@@ -219,6 +223,12 @@ static CommandLineConfigs()
             UninstallRootCommand.AddCommand(RemoveCommand);
             UninstallRootCommand.AddCommand(VersionSubcommand);
 
+            if (RuntimeInfo.RunningOnOSX)
+            {
+                ListCommand.AddOption(MacOSPreserveVSSdksOption);
+                RemoveCommand.AddOption(MacOSPreserveVSSdksOption);
+            }
+
             var supportedBundleTypeNames = SupportedBundleTypeConfigs.GetSupportedBundleTypes().Select(type => type.OptionName);
 
             RemoveAuxOptions = UninstallBundleTypeOptions
diff --git a/src/dotnet-core-uninstall/Shared/VSVersioning/VisualStudioSafeVersionsExtractor.cs b/src/dotnet-core-uninstall/Shared/VSVersioning/VisualStudioSafeVersionsExtractor.cs
index 93a709b2..c964c0c2 100644
--- a/src/dotnet-core-uninstall/Shared/VSVersioning/VisualStudioSafeVersionsExtractor.cs
+++ b/src/dotnet-core-uninstall/Shared/VSVersioning/VisualStudioSafeVersionsExtractor.cs
@@ -61,48 +61,50 @@ private static (IDictionary<IEnumerable<Bundle>, string>, IEnumerable<Bundle>) A
                 .Select(pair => (pair as IEnumerable<Bundle>, LocalizableStrings.MacRuntimeRequirementExplanationString))
                 .ToDictionary(key => key.Item1, value => value.Item2); 
 
-            var sdks = bundleList.Where(bundle => bundle.Version is SdkVersion);
-            if (sdks != null && sdks.Count() > 0)
+            var sdks = bundleList.Where(bundle => bundle.Version is SdkVersion) ?? [];
+            if (sdks.Any())
             {
                 dividedBundles.Add(sdks, LocalizableStrings.MacSDKRequirementExplanationString);
             }
 
             var remainingBundles = bundleList
-                .Where(bundle => !(bundle.Version is RuntimeVersion || bundle.Version is SdkVersion))
+                .Where(bundle => bundle.Version is not RuntimeVersion && bundle.Version is not SdkVersion)
                 .Concat(bundlesAboveLimit);
             return (dividedBundles, remainingBundles);
         }
 
-        private static (IDictionary<IEnumerable<Bundle>, string>, IEnumerable<Bundle>) ApplyVersionDivisions(IEnumerable<Bundle> bundles)
+        private static (IDictionary<IEnumerable<Bundle>, string>, IEnumerable<Bundle>) ApplyVersionDivisions(IEnumerable<Bundle> bundles, bool macOSPreserveVSSdks = false)
         {
             if (RuntimeInfo.RunningOnWindows)
             {
                 return ApplyWindowsVersionDivisions(bundles);
             }
-            else
+            else if (RuntimeInfo.RunningOnOSX && macOSPreserveVSSdks)
             {
                 return ApplyMacVersionDivisions(bundles);
             }
+            return (new Dictionary<IEnumerable<Bundle>, string>(), bundles);
         }
 
-        public static IEnumerable<Bundle> GetUninstallableBundles(IEnumerable<Bundle> bundles)
+        public static IEnumerable<Bundle> GetUninstallableBundles(IEnumerable<Bundle> bundles, bool macOSPreserveVSSdks = false)
         {
-            var required = new List<Bundle>();
-            var (bundlesByDivisions, remainingBundles) = ApplyVersionDivisions(bundles);
+            var protectedBundles = new List<Bundle>();
+            var (bundlesByDivisions, remainingBundles) = ApplyVersionDivisions(bundles, macOSPreserveVSSdks);
 
             foreach (IEnumerable<Bundle> band in bundlesByDivisions.Keys)
             {
-                required.Add(band.Max());
+                protectedBundles.Add(band.Max());
             }
 
-            required = required.Concat(remainingBundles.Where(bundle => bundle.Version.SemVer >= UpperLimit)).ToList();
+            protectedBundles = protectedBundles.Concat(remainingBundles.Where(bundle => bundle.Version.SemVer >= UpperLimit)).ToList();
 
-            return bundles.Where(b => !required.Contains(b));
+            // Return all bundles that are not protectedBundles
+            return bundles.Except(protectedBundles);
         }
 
-        public static Dictionary<Bundle, string> GetReasonRequiredStrings(IEnumerable<Bundle> allBundles)
+        public static Dictionary<Bundle, string> GetReasonRequiredStrings(IEnumerable<Bundle> allBundles, bool macOSPreserveVSSdks = false)
         {
-            var (bundlesByDivisions, remainingBundles) = ApplyVersionDivisions(allBundles);
+            var (bundlesByDivisions, remainingBundles) = ApplyVersionDivisions(allBundles, macOSPreserveVSSdks);
 
             var bundlesAboveUpperLimit = remainingBundles.Where(bundle => bundle.Version.SemVer >= UpperLimit);
             var requirementStringResults = remainingBundles.Except(bundlesAboveUpperLimit)
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.cs.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.cs.xlf
index c6d1b5ad..c69d4cae 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.cs.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.cs.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.de.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.de.xlf
index 41bfec2a..106b66ce 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.de.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.de.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.es.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.es.xlf
index 2c3d73fd..09517900 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.es.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.es.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.fr.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.fr.xlf
index cdfb27e5..a7ff9781 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.fr.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.fr.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.it.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.it.xlf
index f708cd55..d8dd8389 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.it.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.it.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.ja.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.ja.xlf
index 74837c5f..da2a4019 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.ja.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.ja.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.ko.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.ko.xlf
index 3f4b126f..78f59f54 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.ko.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.ko.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.pl.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.pl.xlf
index 831ac28a..623c9d48 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.pl.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.pl.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.pt-BR.xlf
index 538a607b..ce8b0fe6 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.pt-BR.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.pt-BR.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.ru.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.ru.xlf
index 7d833888..23e730cb 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.ru.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.ru.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.tr.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.tr.xlf
index bf2b2870..2c3f8dc3 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.tr.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.tr.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.zh-Hans.xlf
index b1b97a4e..9f33e7ec 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.zh-Hans.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.zh-Hans.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/src/dotnet-core-uninstall/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet-core-uninstall/xlf/LocalizableStrings.zh-Hant.xlf
index 509fd916..c18ce2b1 100644
--- a/src/dotnet-core-uninstall/xlf/LocalizableStrings.zh-Hant.xlf
+++ b/src/dotnet-core-uninstall/xlf/LocalizableStrings.zh-Hant.xlf
@@ -187,13 +187,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="MacRuntimeRequirementExplanationString">
-        <source>Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove</target>
-        <note />
-      </trans-unit>
-      <trans-unit id="MacSDKRequirementExplanationString">
-        <source>Used by Visual Studio for Mac. Specify individually or use —-force to remove</source>
-        <target state="new">Used by Visual Studio for Mac. Specify individually or use —-force to remove</target>
+        <source>Used by SDKs. Specify individually or use —-force to remove</source>
+        <target state="new">Used by SDKs. Specify individually or use —-force to remove</target>
         <note />
       </trans-unit>
       <trans-unit id="MoreThanOneVersionSpecifiedExceptionMessageFormat">
@@ -317,8 +312,8 @@ Uninstalling this item will cause Visual Studio for to break.
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionMac">
-        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
-        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for Visual Studio for Mac or SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
+        <source>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</source>
+        <target state="new">Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</target>
         <note />
       </trans-unit>
       <trans-unit id="UninstallNoOptionDescriptionWindows">
diff --git a/test/dotnet-core-uninstall.Tests/Shared/Commands/CommandBundleFilterTests.cs b/test/dotnet-core-uninstall.Tests/Shared/Commands/CommandBundleFilterTests.cs
index ef547ae1..20b0ed71 100644
--- a/test/dotnet-core-uninstall.Tests/Shared/Commands/CommandBundleFilterTests.cs
+++ b/test/dotnet-core-uninstall.Tests/Shared/Commands/CommandBundleFilterTests.cs
@@ -74,7 +74,7 @@ internal void TestRequiredUninstallableWithOptionsWindows(string command, string
         [MacOsOnlyTheory]
         [InlineData("remove --all-below 5.0.0 --sdk", new string[] { "1.0.0", "1.0.1", "1.1.0", "2.1.0", "2.1.500", "2.1.600", "2.2.100", "2.2.200" }, new string[] { })]
         [InlineData("remove --all-below 5.0.0 --sdk --force", new string[] { "1.0.0", "1.0.1", "1.1.0", "2.1.0", "2.1.500", "2.1.600", "2.2.100", "2.2.200" }, new string[] { })]
-        [InlineData("remove --all-below 5.0.0 --runtime", new string[] { }, new string[] { "1.0.0", "2.1.0", "2.1.500", "2.2.100" })]
+        [InlineData("remove --all-below 5.0.0 --runtime", new string[] { }, new string[] { "1.0.0", "1.0.1", "1.1.0", "2.1.0", "2.1.500", "2.1.600", "2.2.100", "2.2.200" })]
         [InlineData("remove --all-below 5.0.0 --runtime --force", new string[] { }, new string[] { "1.0.0", "1.0.1", "1.1.0", "2.1.0", "2.1.500", "2.1.600", "2.2.100", "2.2.200" })]
         [InlineData("remove --sdk 1.0.0 1.0.1 1.1.0 2.1.0 2.1.500 2.1.600 2.2.100 2.2.200", new string[] { "1.0.0", "1.0.1", "1.1.0", "2.1.0", "2.1.500", "2.1.600", "2.2.100", "2.2.200" }, new string[] { })]
         [InlineData("remove --runtime 1.0.0 1.0.1 1.1.0 2.1.0 2.1.500 2.1.600 2.2.100 2.2.200", new string[] { }, new string[] { "1.0.0", "1.0.1", "1.1.0", "2.1.0", "2.1.500", "2.1.600", "2.2.100", "2.2.200" })]
diff --git a/test/dotnet-core-uninstall.Tests/Shared/Commands/ListCommandExecTests.cs b/test/dotnet-core-uninstall.Tests/Shared/Commands/ListCommandExecTests.cs
index b9b07978..78346a0f 100644
--- a/test/dotnet-core-uninstall.Tests/Shared/Commands/ListCommandExecTests.cs
+++ b/test/dotnet-core-uninstall.Tests/Shared/Commands/ListCommandExecTests.cs
@@ -37,8 +37,8 @@ internal void ListCommandFilteringIsCorrectOnWindows(string bundleType, string o
         }
 
         [MacOsOnlyTheory]
-        [InlineData("sdk", "", new string[] { "3.1.0" }, new string[] { "3.0.0", "3.0.0-preview", "1.0.0", "3.0.1", "3.0.2", "3.0.2-preview1", "3.0.2-preview2", "2.1.1", "1.0.1" })]
-        [InlineData("runtime", "", new string[] { "3.1.0", "3.0.2", "2.1.1", "1.0.1" }, new string[] { "3.0.0", "3.0.0-preview", "1.0.0", "3.0.1", "3.0.2-preview1", "3.0.2-preview2" })]
+        [InlineData("sdk", "", new string[] {}, new string[] { "3.0.0", "3.0.0-preview", "1.0.0", "3.0.1", "3.0.2", "3.0.2-preview1", "3.0.2-preview2", "2.1.1", "1.0.1", "3.1.0" })]
+        [InlineData("runtime", "", new string[] {}, new string[] { "3.1.0", "3.0.2-preview2", "3.0.2-preview1", "3.0.2", "3.0.1", "3.0.0-preview", "3.0.0", "2.1.1", "1.0.1", "1.0.0" })]
         internal void ListCommandFilteringIsCorrectOnMac(string bundleType, string options, string[] expectedProtected, string[] expectedUninstallable)
         {
             ListCommandFilteringIsCorrect(bundleType, options, expectedProtected, expectedUninstallable);
diff --git a/test/dotnet-core-uninstall.Tests/Shared/VSVersioning/VSVersionTests.cs b/test/dotnet-core-uninstall.Tests/Shared/VSVersioning/VSVersionTests.cs
index c0f8c146..c45abdfa 100644
--- a/test/dotnet-core-uninstall.Tests/Shared/VSVersioning/VSVersionTests.cs
+++ b/test/dotnet-core-uninstall.Tests/Shared/VSVersioning/VSVersionTests.cs
@@ -5,6 +5,7 @@
 using FluentAssertions.Execution;
 using Microsoft.DotNet.Tools.Uninstall.Shared.BundleInfo;
 using Microsoft.DotNet.Tools.Uninstall.Shared.BundleInfo.Versioning;
+using Microsoft.DotNet.Tools.Uninstall.Shared.Utils;
 using Microsoft.DotNet.Tools.Uninstall.Shared.VSVersioning;
 using Microsoft.DotNet.Tools.Uninstall.Tests.Attributes;
 using Microsoft.DotNet.Tools.Uninstall.Windows;
@@ -67,7 +68,7 @@ internal void TestGetUninstallableMac(string[] sdkVersions, bool[] sdkAllowed, s
                 bundles.Add(new Bundle<RuntimeVersion>(new RuntimeVersion(v), new BundleArch(), string.Empty, string.Empty));
             }
 
-            var uninstallable = VisualStudioSafeVersionsExtractor.GetUninstallableBundles(bundles);
+            var uninstallable = VisualStudioSafeVersionsExtractor.GetUninstallableBundles(bundles, true);
 
             CheckAllowed(bundles, uninstallable, sdkAllowed, runtimeAllowed);
         }
@@ -124,7 +125,7 @@ internal void TestGetUninstallableNonSdkVersions(IEnumerable<Bundle> bundles, bo
                 new Bundle<HostingBundleVersion>(new HostingBundleVersion("11.0.0"), new BundleArch(), string.Empty, "HostingBundleVersion")
             });
 
-            var uninstallable = VisualStudioSafeVersionsExtractor.GetUninstallableBundles(bundles);
+            var uninstallable = VisualStudioSafeVersionsExtractor.GetUninstallableBundles(bundles, true);
 
             // Check that we still have all of the non-sdk bundles
             uninstallable.Where(b => b.Version is AspNetRuntimeVersion).Should().HaveCount(1);
@@ -147,7 +148,7 @@ private void CheckAllowed(IEnumerable<Bundle> allBundles, IEnumerable<Bundle> un
                 {
                     uninstallableBundles.Should().Contain(sdkBundles[i]);
                 }
-                else
+                else if (!RuntimeInfo.RunningOnOSX)
                 {
                     uninstallableBundles.Should().NotContain(sdkBundles[i]);
                 }
@@ -207,7 +208,8 @@ internal void TestGetListCommandUninstallableStringsWindows(string[] versions, s
         [InlineData(new string[] { "3.0.100", "5.0.100" }, new string[] { "None", "SDK" }, new string[] { "1.0.0", "1.1.0", "1.0.1", "1.0.2", "1.1.3" }, new string[] { "None", "None", "None", "Runtime", "Runtime" })]
         [InlineData(new string[] { "3.0.100", "5.0.100" }, new string[] { "None", "SDK" }, new string[] { "1.0.0", "1.1.0", "1.0.1", "10.0.100" }, new string[] { "None", "Runtime", "Runtime", "UpperLimit" })]
         [InlineData(new string[] { "5.0.100", "5.0.101", "11.100.100" }, new string[] { "None", "SDK", "UpperLimit" }, new string[] { "5.0.100", "11.0.0" }, new string[] { "Runtime", "UpperLimit" })]
-        internal void TestGetListCommandUninstallableStringsMac(string[] sdkVersions, string[] sdkExpected, string[] runtimeVersions, string[] runtimeExpected)
+        internal void 
+        StringsMac(string[] sdkVersions, string[] sdkExpected, string[] runtimeVersions, string[] runtimeExpected)
         {
             sdkExpected = sdkExpected.Select(s => s.Equals("UpperLimit") ? VisualStudioSafeVersionsExtractor.UpperLimit.ToNormalizedString() : s).ToArray();
             runtimeExpected = runtimeExpected.Select(s => s.Equals("UpperLimit") ? VisualStudioSafeVersionsExtractor.UpperLimit.ToNormalizedString() : s).ToArray();
@@ -236,6 +238,7 @@ internal void TestGetListCommandUninstallableStrings(IEnumerable<Bundle> bundles
             });
 
             var strings = VisualStudioSafeVersionsExtractor.GetReasonRequiredStrings(bundles);
+
             strings.Count().Should().Be(bundles.Count());
 
             var sdkBundles = strings.Where(pair => pair.Key.Version is SdkVersion).ToArray();
@@ -265,8 +268,8 @@ private string[] ExpandExpectationShortHand(string[] input)
                 { string.Empty, string.Format(LocalizableStrings.WindowsRequirementExplanationString, string.Empty)},
                 { " 2017", string.Format(LocalizableStrings.WindowsRequirementExplanationString, " 2017")},
                 { " 2019", string.Format(LocalizableStrings.WindowsRequirementExplanationString, " 2019")},
-                { "SDK", LocalizableStrings.MacSDKRequirementExplanationString},
-                { "Runtime", LocalizableStrings.MacRuntimeRequirementExplanationString}
+                { "SDK", string.Empty}, // Don't need to check for SDKs on Mac
+                { "Runtime", string.Empty}
             };
             var output = new string[input.Length];
 
