# ProgressInteractionOptions Properties

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [ProgressInteractionOptions](/reference/api/csharp/aspire.hosting/progressinteractionoptions.md)
- Kind: `Properties`
- Members: `2`

Options for configuring a progress interaction.

<a id="title"></a>

## Title

- Name: `Title`
- Modifiers: `nullable` `get; set`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/b5f143315ffb6968ea939a9978797a5b20e4c688/src/Aspire.Hosting/IInteractionService.cs)

Gets or sets the optional title of the progress dialog.

```csharp
public string? Title { get; set; }
```

<a id="work"></a>

## Work

- Name: `Work`
- Modifiers: `nullable` `get; set`
- Returns: `Func<ProgressContext, Task>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/b5f143315ffb6968ea939a9978797a5b20e4c688/src/Aspire.Hosting/IInteractionService.cs)

Gets or sets an optional asynchronous work callback to execute while the progress dialog is displayed.

```csharp
public Func<ProgressContext, Task>? Work { get; set; }
```

## Remarks

When provided, the progress dialog remains open while this callback executes and closes automatically when the callback completes. The [ProgressContext.CancellationToken](/reference/api/csharp/aspire.hosting/progresscontext/properties.md#cancellationtoken) passed to the callback is triggered when the user clicks the cancel button or the operation is externally canceled. When not provided, the dialog remains open until the `Threading.CancellationToken` passed to [IInteractionService.PromptProgressAsync(string, ProgressInteractionOptions?, CancellationToken)](/reference/api/csharp/aspire.hosting/iinteractionservice/methods.md#promptprogressasync-string-progressinteractionoptions-cancellationtoken) is canceled.
