Skip to content
Docs Try Aspire

Configuration settings

Aspire configuration is a rooted aspire.config.json file for project-scoped CLI configuration. Use the aspire config command family to inspect and update those settings, and use aspire config list --all to see the feature flags surfaced by your installed CLI.

Starting in Aspire 13.2, Aspire prefers a rooted aspire.config.json file for project-scoped configuration. The CLI can also read and write user-scoped global defaults.

  • Project-scoped configuration

    Project-scoped settings live in a rooted aspire.config.json file. This replaces the older .aspire/settings.json model.

  • Global configuration

    User-scoped defaults can be set with aspire config set --global .... Project-scoped settings override global values when both are present.

The consolidated aspire.config.json file can also contain other rooted Aspire configuration such as SDK version, launch profiles, and package pins. This page focuses on the settings surfaced through aspire config.

aspire.config.json
{
"appHost": {
"path": "./src/MyApp.AppHost/MyApp.AppHost.csproj"
},
"channel": "staging",
"features": {
"defaultWatchEnabled": true,
"showAllTemplates": true,
"updateNotificationsEnabled": true
}
}

Use aspire config list to see the values that are currently set, and use aspire config list --all to enumerate the feature flags your installed CLI can configure.

Logical keyStored in aspire.config.json asDescription
appHostPathappHost.pathPath to the default AppHost project for the rooted configuration.
channelchannelDefault Aspire channel used by channel-aware commands such as aspire new, aspire init, and aspire update.
features.defaultWatchEnabledfeatures.defaultWatchEnabledEnable or disable watch mode by default when running Aspire applications for automatic restarts on file changes.
features.execCommandEnabledfeatures.execCommandEnabledEnable or disable the legacy aspire exec command for executing commands inside running resources.
features.experimentalPolyglot:gofeatures.experimentalPolyglot:goEnable or disable experimental Go language support for polyglot Aspire applications.
features.experimentalPolyglot:javafeatures.experimentalPolyglot:javaEnable or disable experimental Java language support for polyglot Aspire applications.
features.experimentalPolyglot:pythonfeatures.experimentalPolyglot:pythonEnable or disable experimental Python language support for polyglot Aspire applications.
features.experimentalPolyglot:rustfeatures.experimentalPolyglot:rustEnable or disable experimental Rust language support for polyglot Aspire applications.
features.showAllTemplatesfeatures.showAllTemplatesShow all available templates, including experimental ones, in aspire new and aspire init.
features.showDeprecatedPackagesfeatures.showDeprecatedPackagesShow or hide deprecated packages in aspire add search results.
features.updateNotificationsEnabledfeatures.updateNotificationsEnabledEnable or disable Aspire CLI update notifications.
  • Use aspire config list to show currently set project-scoped and global values.

  • Use aspire config list --all to include the feature flags that your installed CLI can configure.

  • Use aspire config get <key> to inspect a specific setting such as channel or appHostPath.

  • Use aspire config set <key> <value> to update a setting, and aspire config set --global ... when you want a user-scoped default.

CommandStatusFunction
aspire configStableCommand driver for managing Aspire configuration.
aspire config listStableList currently configured values, or all available feature flags with --all.
aspire config get <key>StableGet a configuration value.
aspire config set <key> <value>StableSet a configuration value.
aspire config delete <key>StableDelete a configuration value.

For command-level details, see the aspire config command reference.