# withRequiredCommandValidation

- Module: [Aspire.Hosting](/reference/api/typescript/aspire.hosting.md)
- Version: `13.5.0`
- Kind: `method`
- Source: [GitHub](https://github.com/microsoft/aspire/tree/e076d8e427cb3afb528dbd605acd74c3aea69f94)

Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start, with custom validation logic.

## Definition

```typescript
interface ContainerResource {
  // ... omitted for brevity
  withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) => Promise<RequiredCommandValidationResult>, helpLink?: string): IResource
}
```

## Parameters

- `command` (`string`)
- `validationCallback` (`(arg: RequiredCommandValidationContext) => Promise<RequiredCommandValidationResult>`)
- `helpLink` (`string`) `optional`

## Returns

[IResource](/reference/api/typescript/aspire.hosting/iresource.md) `builder`

## Applies to

- [ContainerResource](/reference/api/typescript/aspire.hosting/containerresource.md)
- [ExecutableResource](/reference/api/typescript/aspire.hosting/executableresource.md)
- [ProjectResource](/reference/api/typescript/aspire.hosting/projectresource.md)
- [ParameterResource](/reference/api/typescript/aspire.hosting/parameterresource.md)
- [ContainerRegistryResource](/reference/api/typescript/aspire.hosting/containerregistryresource.md)
- [DotnetToolResource](/reference/api/typescript/aspire.hosting/dotnettoolresource.md)
- [ExternalServiceResource](/reference/api/typescript/aspire.hosting/externalserviceresource.md)
- [CSharpAppResource](/reference/api/typescript/aspire.hosting/csharpappresource.md)
