# IRequiredCommandValidator

- Kind: `interface`
- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Version: `13.3.0`
- Namespace: `Aspire.Hosting.ApplicationModel`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/ApplicationModel/IRequiredCommandValidator.cs)

A service that validates required commands/executables are available on the local machine.

## Definition

```csharp
namespace Aspire.Hosting.ApplicationModel;

public interface IRequiredCommandValidator
{
    // ...
}
```

## Remarks

This service coalesces validations so that the same command is only validated once, even if multiple resources require it.

## Methods

- [ValidateAsync(IResource, RequiredCommandAnnotation, CancellationToken)](/reference/api/csharp/aspire.hosting/irequiredcommandvalidator/methods.md#validateasync-iresource-requiredcommandannotation-cancellationtoken) : [Task<RequiredCommandValidationResult>](/reference/api/csharp/aspire.hosting/requiredcommandvalidationresult.md) `abstract` -- Validates that a required command is available and meets any custom validation requirements.
