diff --git a/core/Microsoft.Mcp.Core/tests/Microsoft.Mcp.Tests/Helpers/TestEnvironment.cs b/core/Microsoft.Mcp.Core/tests/Microsoft.Mcp.Tests/Helpers/TestEnvironment.cs
index 6886aae237..591cec2309 100644
--- a/core/Microsoft.Mcp.Core/tests/Microsoft.Mcp.Tests/Helpers/TestEnvironment.cs
+++ b/core/Microsoft.Mcp.Core/tests/Microsoft.Mcp.Tests/Helpers/TestEnvironment.cs
@@ -34,4 +34,19 @@ public static void SetAzureSubscriptionId(string subscriptionId)
///
public static void ClearAzureSubscriptionId()
=> Environment.SetEnvironmentVariable(EnvironmentHelpers.AzureSubscriptionIdEnvironmentVariable, null);
+
+ ///
+ /// Skips the test if a default subscription is configured via Azure CLI profile or AZURE_SUBSCRIPTION_ID.
+ /// This is useful for tests that validate missing required --subscription parameters,
+ /// which have fallback to default subscription sources in SubscriptionCommand.
+ ///
+ public static void SkipIfDefaultSubscriptionConfigured()
+ {
+ if (!string.IsNullOrEmpty(CommandHelper.GetDefaultSubscription()))
+ {
+ Xunit.Assert.Skip(
+ "An Azure CLI default subscription is configured; cannot validate missing --subscription. " +
+ "Run 'az logout' or 'az account clear' to clear the profile, then restart the test runner.");
+ }
+ }
}
diff --git a/tools/Azure.Mcp.Tools.ResourceHealth/tests/Azure.Mcp.Tools.ResourceHealth.UnitTests/AvailabilityStatus/AvailabilityStatusGetCommandTests.cs b/tools/Azure.Mcp.Tools.ResourceHealth/tests/Azure.Mcp.Tools.ResourceHealth.UnitTests/AvailabilityStatus/AvailabilityStatusGetCommandTests.cs
index 00b9147e9b..e9546dbfaa 100644
--- a/tools/Azure.Mcp.Tools.ResourceHealth/tests/Azure.Mcp.Tools.ResourceHealth.UnitTests/AvailabilityStatus/AvailabilityStatusGetCommandTests.cs
+++ b/tools/Azure.Mcp.Tools.ResourceHealth/tests/Azure.Mcp.Tools.ResourceHealth.UnitTests/AvailabilityStatus/AvailabilityStatusGetCommandTests.cs
@@ -6,6 +6,7 @@
using Azure.Mcp.Tools.ResourceHealth.Services;
using Microsoft.Mcp.Core.Options;
using Microsoft.Mcp.Tests.Client;
+using Microsoft.Mcp.Tests.Helpers;
using NSubstitute;
using NSubstitute.ExceptionExtensions;
using Xunit;
@@ -172,6 +173,11 @@ public async Task ExecuteAsync_HandlesException_WhenListingResources()
[InlineData("--subscription")]
public async Task ExecuteAsync_ReturnsError_WhenRequiredParameterIsMissing(string missingParameter)
{
+ // The subscription option falls back to the Azure CLI profile or AZURE_SUBSCRIPTION_ID env var.
+ // Skip if a CLI profile default is present so the test only runs when
+ // the missing-subscription path is actually exercised.
+ TestEnvironment.SkipIfDefaultSubscriptionConfigured();
+
var argsList = new List();
if (missingParameter != "--subscription")
{
diff --git a/tools/Azure.Mcp.Tools.ResourceHealth/tests/Azure.Mcp.Tools.ResourceHealth.UnitTests/ServiceHealthEvents/ServiceHealthEventsListCommandTests.cs b/tools/Azure.Mcp.Tools.ResourceHealth/tests/Azure.Mcp.Tools.ResourceHealth.UnitTests/ServiceHealthEvents/ServiceHealthEventsListCommandTests.cs
index c87e57371a..5ecf953a34 100644
--- a/tools/Azure.Mcp.Tools.ResourceHealth/tests/Azure.Mcp.Tools.ResourceHealth.UnitTests/ServiceHealthEvents/ServiceHealthEventsListCommandTests.cs
+++ b/tools/Azure.Mcp.Tools.ResourceHealth/tests/Azure.Mcp.Tools.ResourceHealth.UnitTests/ServiceHealthEvents/ServiceHealthEventsListCommandTests.cs
@@ -6,6 +6,7 @@
using Azure.Mcp.Tools.ResourceHealth.Services;
using Microsoft.Mcp.Core.Options;
using Microsoft.Mcp.Tests.Client;
+using Microsoft.Mcp.Tests.Helpers;
using NSubstitute;
using NSubstitute.ExceptionExtensions;
using Xunit;
@@ -25,6 +26,14 @@ public class ServiceHealthEventsListCommandTests : CommandUnitTestsBase