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

# tai tools

> Inspect and run registered tools.

Inspect and run registered tools.

```console theme={null}
$ tai tools [OPTIONS] COMMAND [ARGS]...
```

## `tai tools apply`

Set a tool's full list of extension combos (lossless multi-combo write).

Each `--combo` is one combo, written as a JSON array of extension elements;
repeat it to author several combos at once. An element is a bare extension
name or a `&#123;"name", "config"&#125;` object binding author config, so per-element
config (e.g. an `output_schema` combo's schema) round-trips losslessly.
Passing no `--combo` clears every combo.

Example: `tai tools apply my_tool --combo '["chain","batch"]' --combo '["chain"]'`

```console theme={null}
$ tai tools apply [OPTIONS] NAME
```

| Argument | Description             |
| -------- | ----------------------- |
| `NAME`   | Tool name. *(required)* |

| Option                 | Description                                                                                                                                                                                                                                                                                      |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `--combo` `TEXT`       | One extension combo as a JSON array of elements (repeatable). Each element is an extension name ('"chain"') or a \{"name","config"} object binding config to it (e.g. '\[\{"name":"output\_schema","config":\{"schema":\{"type":"object"}}}]'). Passing no --combo clears the tool's extensions. |
| `--json` / `--no-json` | Emit raw JSON instead of human tables.                                                                                                                                                                                                                                                           |

## `tai tools extensions`

Show a tool's applied extension combos and the available catalog.

Example: `tai tools extensions my_tool`

```console theme={null}
$ tai tools extensions [OPTIONS] NAME
```

| Argument | Description             |
| -------- | ----------------------- |
| `NAME`   | Tool name. *(required)* |

| Option                 | Description                            |
| ---------------------- | -------------------------------------- |
| `--json` / `--no-json` | Emit raw JSON instead of human tables. |

## `tai tools list`

List the registered tool names.

Example: `tai tools list`

```console theme={null}
$ tai tools list [OPTIONS]
```

| Option                 | Description                            |
| ---------------------- | -------------------------------------- |
| `--json` / `--no-json` | Emit raw JSON instead of human tables. |

## `tai tools reload`

Re-register one app tool from its stored definition, fanning out to the fleet.

Example: `tai tools reload flow my_flow`

```console theme={null}
$ tai tools reload [OPTIONS] KIND NAME
```

| Argument | Description                           |
| -------- | ------------------------------------- |
| `KIND`   | Tool kind (e.g. "flow"). *(required)* |
| `NAME`   | Tool name. *(required)*               |

| Option                 | Description                                       |
| ---------------------- | ------------------------------------------------- |
| `--target` `TEXT`      | A worker to restrict the fan-out to (repeatable). |
| `--json` / `--no-json` | Emit raw JSON instead of human tables.            |

## `tai tools remove`

Remove one app tool from the live registry, fanning out to the fleet.

Example: `tai tools remove flow my_flow`

```console theme={null}
$ tai tools remove [OPTIONS] KIND NAME
```

| Argument | Description                           |
| -------- | ------------------------------------- |
| `KIND`   | Tool kind (e.g. "flow"). *(required)* |
| `NAME`   | Tool name. *(required)*               |

| Option                 | Description                                       |
| ---------------------- | ------------------------------------------------- |
| `--target` `TEXT`      | A worker to restrict the fan-out to (repeatable). |
| `--json` / `--no-json` | Emit raw JSON instead of human tables.            |

## `tai tools run`

Run a registered tool synchronously and print its result.

Example: `tai tools run add --kw a=1 --kw b=2`

```console theme={null}
$ tai tools run [OPTIONS] NAME
```

| Argument | Description             |
| -------- | ----------------------- |
| `NAME`   | Tool name. *(required)* |

| Option                 | Description                                                   |
| ---------------------- | ------------------------------------------------------------- |
| `--kwargs` `TEXT`      | Tool arguments as a JSON object.                              |
| `--kw` `TEXT`          | A key=value tool argument (repeatable; value parsed as JSON). |
| `--json` / `--no-json` | Emit raw JSON instead of human tables.                        |

## `tai tools runs`

Submit and inspect background (detached) tool runs.

```console theme={null}
$ tai tools runs [OPTIONS] COMMAND [ARGS]...
```

### `tai tools runs get`

Get a background tool run's status and result.

Example: `tai tools runs get abc123`

```console theme={null}
$ tai tools runs get [OPTIONS] RUN_ID
```

| Argument | Description          |
| -------- | -------------------- |
| `RUN_ID` | Run id. *(required)* |

| Option                 | Description                            |
| ---------------------- | -------------------------------------- |
| `--json` / `--no-json` | Emit raw JSON instead of human tables. |

### `tai tools runs list`

List the recent background runs for a tool.

Example: `tai tools runs list slow_tool`

```console theme={null}
$ tai tools runs list [OPTIONS] NAME
```

| Argument | Description             |
| -------- | ----------------------- |
| `NAME`   | Tool name. *(required)* |

| Option                 | Description                            |
| ---------------------- | -------------------------------------- |
| `--json` / `--no-json` | Emit raw JSON instead of human tables. |

### `tai tools runs submit`

Submit a tool for background execution and print its run id.

Example: `tai tools runs submit slow_tool --kw n=100`

```console theme={null}
$ tai tools runs submit [OPTIONS] NAME
```

| Argument | Description             |
| -------- | ----------------------- |
| `NAME`   | Tool name. *(required)* |

| Option                 | Description                                                   |
| ---------------------- | ------------------------------------------------------------- |
| `--kwargs` `TEXT`      | Tool arguments as a JSON object.                              |
| `--kw` `TEXT`          | A key=value tool argument (repeatable; value parsed as JSON). |
| `--json` / `--no-json` | Emit raw JSON instead of human tables.                        |

## `tai tools schema`

Get one tool's input/output schema.

Example: `tai tools schema my_tool`

```console theme={null}
$ tai tools schema [OPTIONS] NAME
```

| Argument | Description             |
| -------- | ----------------------- |
| `NAME`   | Tool name. *(required)* |

| Option                 | Description                            |
| ---------------------- | -------------------------------------- |
| `--json` / `--no-json` | Emit raw JSON instead of human tables. |

## `tai tools schemas`

Get the input/output schema of every registered tool.

Example: `tai tools schemas --json`

```console theme={null}
$ tai tools schemas [OPTIONS]
```

| Option                 | Description                            |
| ---------------------- | -------------------------------------- |
| `--json` / `--no-json` | Emit raw JSON instead of human tables. |

## `tai tools tags`

List each tool's native tags.

Example: `tai tools tags`

```console theme={null}
$ tai tools tags [OPTIONS]
```

| Option                 | Description                            |
| ---------------------- | -------------------------------------- |
| `--json` / `--no-json` | Emit raw JSON instead of human tables. |
