> ## Documentation Index
> Fetch the complete documentation index at: https://docs.photon.codes/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use Stable documentation by default. Honor an explicit Beta request or a URL under /docs/beta/. If the requested version conflicts with the installed CLI package or API origin, clarify the target before writing integration code.
> Pages under /docs/beta/ document Beta; other product pages document Stable. Keep the CLI package, commands, API origin, and credentials within the selected version. State the documentation version in your answer.
> For MCP search, always pass version: Stable or version: Beta. Unfiltered search mixes both versions. For filesystem reads, keep Beta queries under /beta/ and exclude /beta/ from Stable queries; discover paths before reading them.
> The public docs base is https://photon.codes/docs. Convert MCP page paths to public URLs under that base, preserving /beta/ when present. Read https://photon.codes/docs/skill.md for version selection and https://photon.codes/docs/llms.txt for the version indexes.

# TanStackTool

> A Chat SDK tool shaped for TanStack AI's .

A Chat SDK tool shaped for TanStack AI's `chat({ tools })`.

Structurally compatible with `Tool` / `AnyTool` from `@tanstack/ai`, so the
array returned by [createTanStackTools](/docs/reference/stable/chat/ai-tanstack/functions/createTanStackTools) can be passed to `chat()`
directly. Declared locally so `chat/ai/tanstack` has no runtime dependency
on `@tanstack/ai`.

## Properties

<ResponseField name={"description"} type={"string"} required />

<ResponseField name={"inputSchema"} type={"ZodType<TInput>"} required />

<ResponseField name={"lazy"} type={"boolean"} />

<ResponseField name={"metadata"} type={"Record<string, unknown>"} />

<ResponseField name={"name"} type={"string"} required />

<ResponseField name={"needsApproval"} type={"boolean"} />

## Methods

### execute()

```typescript
execute(args: TInput, context?: unknown): Promise<TOutput>
```

#### Parameters

<ResponseField name={"args"} type={"TInput"} required />

<ResponseField name={"context"} type={"unknown"} />

#### Returns

`Promise<TOutput>`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.