# ComputerToolResource Methods

- Package: [Aspire.Hosting.Foundry](/reference/api/csharp/aspire.hosting.foundry.md)
- Type: [ComputerToolResource](/reference/api/csharp/aspire.hosting.foundry/computertoolresource.md)
- Kind: `Methods`
- Members: `1`

A Foundry tool resource that enables an agent to interact with a computer desktop by taking screenshots, moving the mouse, clicking, and typing.

## ToAgentToolAsync(CancellationToken)

- Name: `ToAgentToolAsync(CancellationToken)`
- Modifiers: `override`
- Returns: `Task<ResponseTool>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/ToolResources/BuiltInToolDefinitions.cs#L171-L172)

Converts this tool definition into the SDK `Responses.ResponseTool` representation.

```csharp
public sealed class ComputerToolResource
{
    public override Task<ResponseTool> ToAgentToolAsync(
        CancellationToken cancellationToken = default(CancellationToken))
    {
        // ...
    }
}
```

## Parameters

- `cancellationToken` (`CancellationToken`) `optional`
  A cancellation token.

## Returns

`Task<ResponseTool>` -- The SDK tool representation.

## Remarks

This method is called at deploy time, after infrastructure provisioning is complete. Tools that depend on provisioned resources (e.g., Azure AI Search connections) can safely resolve their connection identifiers at this point.
