{"record":{"id":"d074418b8a07b4b5","repo":"microsoft/aspire","slug":"the-apphost-does-not-support-list-steps-update-the-apphost","errorCode":null,"errorMessage":"The AppHost does not support --list-steps. Update the AppHost to a newer version of Aspire.","messagePattern":"The AppHost does not support --list-steps\\. Update the AppHost to a newer version of Aspire\\.","errorType":"exception","errorClass":"AppHostIncompatibleException","httpStatus":null,"severity":"error","filePath":"src/Aspire.Cli/Commands/PipelineCommandBase.cs","lineNumber":237,"sourceCode":"            using var activity = Telemetry.StartDiagnosticActivity(this.Name);\n\n            var searchResult = await _projectLocator.UseOrFindAppHostProjectFileAsync(passedAppHostProjectFile, MultipleAppHostProjectsFoundBehavior.Prompt, createSettingsFile: true, cancellationToken);\n            var effectiveAppHostFile = searchResult.SelectedProjectFile;\n\n            if (effectiveAppHostFile is null)\n            {\n                // Send terminal progress bar stop sequence\n                StopTerminalProgressBar();\n                return CommandResult.Failure(CliExitCodes.FailedToFindProject);\n            }\n\n            var project = _projectFactory.GetProject(effectiveAppHostFile);\n            if (listSteps)\n            {\n                var aspireHostingVersion = await project.GetAspireHostingVersionAsync(effectiveAppHostFile, cancellationToken);\n                if (IsKnownIncompatibleWithListSteps(aspireHostingVersion))\n                {\n                    throw new AppHostIncompatibleException(\n                        ListStepsIncompatibleMessage,\n                        ListStepsCapability,\n                        aspireHostingVersion);\n                }\n            }\n\n            var env = new Dictionary<string, string>\n            {\n                [KnownConfigNames.AspireHome] = ExecutionContext.AspireHomeDirectory.FullName\n            };\n\n            // Set interactivity enabled based on host environment capabilities\n            if (!_hostEnvironment.SupportsInteractiveInput)\n            {\n                env[KnownConfigNames.InteractivityEnabled] = \"false\";\n            }\n\n            if (waitForDebugger)","sourceCodeStart":219,"sourceCodeEnd":255,"githubUrl":"https://github.com/microsoft/aspire/blob/25830f84bd145686607ad00c057b3f84e2e51d43/src/Aspire.Cli/Commands/PipelineCommandBase.cs#L219-L255","documentation":"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.","triggerScenarios":"Executing 'aspire pipeline --list-steps' against an AppHost project whose referenced Aspire.Hosting package version is known to be incompatible with the ListSteps capability.","commonSituations":"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.","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"],"exampleFix":"// before\n<PackageReference Include=\"Aspire.Hosting\" Version=\"9.0.0\" />\n// after\n<PackageReference Include=\"Aspire.Hosting\" Version=\"9.5.0\" /> <!-- version supporting --list-steps -->","handlingStrategy":"validation","validationCode":"var version = await project.GetAspireHostingVersionAsync(appHostFile, ct);\nif (Version.TryParse(version, out var v) && v < new Version(\"9.3.0\"))\n{\n    Console.Error.WriteLine($\"AppHost uses Aspire.Hosting {version}; --list-steps needs a newer version. Run 'aspire update'.\");\n    return 1;\n}","typeGuard":null,"tryCatchPattern":"try\n{\n    await pipelineCommand.ExecuteAsync(...);\n}\ncatch (AppHostIncompatibleException ex)\n{\n    Console.Error.WriteLine($\"{ex.Message} (current: {ex.CurrentVersion}). Update Aspire.Hosting packages.\");\n}","preventionTips":["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"],"tags":["cli","pipeline","version-compatibility"],"backgroundTag":"feature-not-enabled","analyzedSha":"25830f84bd145686607ad00c057b3f84e2e51d43","analyzedAt":"2026-09-16T11:10:06.193Z","contentChangedAt":"2026-09-16T11:10:06.193Z","schemaVersion":2},"datasetVersion":"2026-09-21T09:17:21.228Z"}