Skip to content
Docs Try Aspire

aspire secret command

aspire secret - Manage AppHost user secrets.

Aspire CLI
aspire secret [command] [options]

The aspire secret command manages user secrets for an Aspire AppHost project. User secrets provide a safe way to store sensitive configuration values—such as passwords, API keys, and connection strings—outside of your project files during local development.

Aspire uses user secrets to persist values that resources need across restarts, such as auto-generated passwords for database containers. When you add a persistent resource that requires a password, Aspire automatically initializes user secrets for the AppHost and saves the generated password. On subsequent runs, the saved password is reused so that the resource retains its state.

The Aspire CLI uses the following logic, in order, to determine which AppHost project to process:

  • The --apphost option.

    This option specifies the path to the Aspire AppHost project file to process.

  • The rooted aspire.config.json file.

    If the rooted config exists in the current directory, it’s used. If not, the CLI walks up the directory structure looking for it. If Aspire finds the rooted config, it uses the recorded AppHost information to determine which project to process. Legacy .aspire/settings.json files are still read during migration.

  • Searches the current directory and subdirectories.

    Starting in the current directory, the CLI gathers all AppHost projects from that directory and below. If a single project is discovered, it’s automatically selected. If multiple projects are discovered, they’re printed to the terminal for the user to manually select one of the projects.

    Once a project is selected, either automatically or manually, Aspire records that selection in the rooted configuration so later commands can reuse it.

The following options are available:

  • --apphost <apphost>

    The path to the Aspire AppHost project file.

  • -?, -h, --help

    Prints help and usage documentation for the available commands and options.

  • -l, --log-level <Critical|Debug|Error|Information|None|Trace|Warning>

    Set the minimum log level for console output. Use this option to increase diagnostics while troubleshooting or reduce output in scripted runs.

  • --non-interactive

    Run the command in non-interactive mode, disabling all interactive prompts and spinners.

  • --nologo

    Suppress the startup banner and telemetry notice.

  • --banner

    Display the animated Aspire CLI welcome banner.

  • --wait-for-debugger

    Wait for a debugger to attach before running a command.

The following commands are available:

CommandFunction
aspire secret set <key> <value>Set a secret value.
aspire secret get <key>Get a secret value.
aspire secret listList all secrets.
aspire secret delete <key>Delete a secret.
aspire secret pathShow the secrets file path.
  • Set a secret value for the current AppHost:

    Aspire CLI
    aspire secret set Parameters:postgres-password MySecretPassword123
  • List all secrets for a specific AppHost:

    Aspire CLI
    aspire secret list --apphost ./src/MyApp.AppHost/MyApp.AppHost.csproj
  • Get the value of a specific secret:

    Aspire CLI
    aspire secret get Parameters:postgres-password
  • Show the path to the secrets file:

    Aspire CLI
    aspire secret path