# HostedToolKind

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/api/tracon.hostedtoolkind/
> Summary: HostedToolKind: The kinds of tool a model provider runs on its own side, which a host registers in code with AddHostedTool.

<div class="api-provenance">Namespace Tracon · Assembly <code>Tracon.Abstractions.dll</code></div>

The kinds of tool a model provider runs on its own side, which a host registers in code
with `AddHostedTool`.

```csharp
[JsonConverter(typeof(JsonStringEnumConverter<HostedToolKind>))]
public enum HostedToolKind
```

## Fields

`CodeInterpreter = 1` 

The provider runs code in its own sandbox. Maps to `HostedCodeInterpreterTool`.

`FileSearch = 2` 

The provider searches a vector store of the caller's account. Maps to `HostedFileSearchTool`.

`WebSearch = 0` 

The provider searches the web. Maps to `HostedWebSearchTool`.

## Remarks

A hosted tool is not a function Tracon calls: the provider runs it inside the model call and
the response carries the call and its outcome. Tracon therefore has no timeout, approval or
permission to put in front of it, and the data it works on goes to the provider the model
call already goes to.

Image generation and hosted MCP servers are not kinds here. Generated images enter the
history as bytes, which Tracon turns into an attachment through its own
`generate_image` tool, and a hosted MCP server has security questions of its own.

Written **as a name** in JSON, the same convention [ToolEffect](/api/tracon.tooleffect/) follows.
