microsoft/aspire · error · AppHostIncompatibleException
The AppHost does not support --list-steps. Update the…
Error message
The AppHost does not support --list-steps. Update the AppHost to a newer version of Aspire.
What it means
When 'aspire pipeline --list-steps' runs, the CLI checks the AppHost project's Aspire.Hosting version via GetAspireHostingVersionAsync. If IsKnownIncompatibleWithListSteps reports the version predates the capability, it throws AppHostIncompatibleException stating the AppHost must be updated to a newer Aspire version to support --list-steps.
Solutions
- Update the AppHost project's Aspire.Hosting.* package references to a version compatible with --list-steps (e.g. 'dotnet add package Aspire.Hosting')
- Run 'aspire update' in the AppHost directory to bump Aspire packages
- Drop --list-steps if staying on the older AppHost version
Example fix
// before <PackageReference Include="Aspire.Hosting" Version="9.0.0" /> // after <PackageReference Include="Aspire.Hosting" Version="9.5.0" /> <!-- version supporting --list-steps -->
Defensive patterns
Strategy: validation
Validate before calling
var version = await project.GetAspireHostingVersionAsync(appHostFile, ct);
if (Version.TryParse(version, out var v) && v < new Version("9.3.0"))
{
Console.Error.WriteLine($"AppHost uses Aspire.Hosting {version}; --list-steps needs a newer version. Run 'aspire update'.");
return 1;
} Try / catch
try
{
await pipelineCommand.ExecuteAsync(...);
}
catch (AppHostIncompatibleException ex)
{
Console.Error.WriteLine($"{ex.Message} (current: {ex.CurrentVersion}). Update Aspire.Hosting packages.");
} Prevention
- Keep AppHost Aspire.* packages at or above the CLI version
- Run 'aspire update' after upgrading the CLI
- Check the AppHost's package versions before using new CLI capabilities
When it happens
Trigger: Executing 'aspire pipeline --list-steps' against an AppHost project whose referenced Aspire.Hosting package version is known to be incompatible with the ListSteps capability.
Common situations: Older Aspire AppHost template projects (pinned to older Aspire.Hosting versions) used with a newer CLI; solution with mixed package versions where the target AppHost lags the CLI.
Related errors
- Aspire Extension is incompatible with the CLI. The…
- Run completed without returning a backchannel.
- Step ' ' not found in pipeline. Available steps
- Step ' ' not found for task
- A step with the name
AI-assisted analysis of microsoft/aspire@25830f84bd (2026-09-16).
Data as JSON: /api/errors/d074418b8a07b4b5.
Report an issue: GitHub.
Appendix: source
Thrown at src/Aspire.Cli/Commands/PipelineCommandBase.cs:237
using var activity = Telemetry.StartDiagnosticActivity(this.Name);
var searchResult = await _projectLocator.UseOrFindAppHostProjectFileAsync(passedAppHostProjectFile, MultipleAppHostProjectsFoundBehavior.Prompt, createSettingsFile: true, cancellationToken);
var effectiveAppHostFile = searchResult.SelectedProjectFile;
if (effectiveAppHostFile is null)
{
// Send terminal progress bar stop sequence
StopTerminalProgressBar();
return CommandResult.Failure(CliExitCodes.FailedToFindProject);
}
var project = _projectFactory.GetProject(effectiveAppHostFile);
if (listSteps)
{
var aspireHostingVersion = await project.GetAspireHostingVersionAsync(effectiveAppHostFile, cancellationToken);
if (IsKnownIncompatibleWithListSteps(aspireHostingVersion))
{
throw new AppHostIncompatibleException(
ListStepsIncompatibleMessage,
ListStepsCapability,
aspireHostingVersion);
}
}
var env = new Dictionary<string, string>
{
[KnownConfigNames.AspireHome] = ExecutionContext.AspireHomeDirectory.FullName
};
// Set interactivity enabled based on host environment capabilities
if (!_hostEnvironment.SupportsInteractiveInput)
{
env[KnownConfigNames.InteractivityEnabled] = "false";
}
if (waitForDebugger)View on GitHub (pinned to 25830f84bd)