> ## 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 presets

> Manage preset tools and their versions.

Manage preset tools and their versions.

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

## `tai presets create`

Create a versioned preset (or an authored agent, when the base tool is an agent).

Example: `tai presets create greet --base-tool echo --kwargs '&#123;"prefix":"hi"&#125;'`

```console theme={null}
$ tai presets create [OPTIONS] NAME
```

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

| Option                 | Description                                                                                                                                                                                                                                                                     |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--base-tool` `TEXT`   | The registered non-preset tool the preset wraps.                                                                                                                                                                                                                                |
| `--kwargs` `TEXT`      | Baked fixed kwargs as a JSON object.                                                                                                                                                                                                                                            |
| `--description` `TEXT` | Human description. *(default: \`)*                                                                                                                                                                                                                                              |
| `--tag` `TEXT`         | A tag (repeatable).                                                                                                                                                                                                                                                             |
| `--extensions` `TEXT`  | Extension combos as a JSON array of combos. Each combo is a non-empty array of elements, and an element is an extension name ('"chain"') or a \{"name","config"} object binding config to it (e.g. '\[\[\{"name":"output\_schema","config":\{"schema":\{"type":"object"}}}]]'). |
| `--json` / `--no-json` | Emit raw JSON instead of human tables.                                                                                                                                                                                                                                          |

## `tai presets delete`

Delete a preset.

Example: `tai presets delete my_preset`

```console theme={null}
$ tai presets delete [OPTIONS] NAME
```

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

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

## `tai presets get`

Get a store-backed preset's record and active body.

Example: `tai presets get my_preset`

```console theme={null}
$ tai presets get [OPTIONS] NAME
```

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

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

## `tai presets get-version`

Get a specific preset version.

Example: `tai presets get-version my_preset 3`

```console theme={null}
$ tai presets get-version [OPTIONS] NAME VERSION
```

| Argument  | Description                  |
| --------- | ---------------------------- |
| `NAME`    | Preset name. *(required)*    |
| `VERSION` | Version number. *(required)* |

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

## `tai presets list`

List the store-backed (versioned) presets.

Example: `tai presets list`

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

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

## `tai presets referees`

List the presets that reference this preset (a rename would strand them).

Example: `tai presets referees my_preset`

```console theme={null}
$ tai presets referees [OPTIONS] NAME
```

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

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

## `tai presets rename`

Rename a preset — its name is its live tool name, so the tool is rebound.

Example: `tai presets rename old_name new_name`

```console theme={null}
$ tai presets rename [OPTIONS] NAME NEW_NAME
```

| Argument   | Description                       |
| ---------- | --------------------------------- |
| `NAME`     | Current preset name. *(required)* |
| `NEW_NAME` | New preset name. *(required)*     |

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

## `tai presets rollback`

Roll a preset back to a prior version.

Example: `tai presets rollback my_preset 2`

```console theme={null}
$ tai presets rollback [OPTIONS] NAME VERSION
```

| Argument  | Description                                 |
| --------- | ------------------------------------------- |
| `NAME`    | Preset name. *(required)*                   |
| `VERSION` | Target version to make active. *(required)* |

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

## `tai presets save-version`

Save a new preset version. Omitted fields carry forward; `--clear-tags` and
`--extensions '[]'` send the explicit clear sentinel.

Example: `tai presets save-version my_preset --kwargs '&#123;"n":2&#125;' --clear-tags`

```console theme={null}
$ tai presets save-version [OPTIONS] NAME
```

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

| Option                 | Description                                                                                                                                                                                                                                                                                        |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--kwargs` `TEXT`      | New fixed kwargs (JSON object); omit to carry forward.                                                                                                                                                                                                                                             |
| `--tag` `TEXT`         | A tag (repeatable); replaces the tag set when given.                                                                                                                                                                                                                                               |
| `--clear-tags`         | Clear all tags (send an explicit empty tag list). *(default: `False`)*                                                                                                                                                                                                                             |
| `--extensions` `TEXT`  | Extension combos as a JSON array of combos. Each combo is a non-empty array of elements, and an element is an extension name ('"chain"') or a \{"name","config"} object binding config to it (e.g. '\[\[\{"name":"output\_schema","config":\{"schema":\{"type":"object"}}}]]'). '\[]' clears them. |
| `--json` / `--no-json` | Emit raw JSON instead of human tables.                                                                                                                                                                                                                                                             |

## `tai presets set-version-tags`

Replace a preset version's tags (labels only — no rebind). Zero tag arguments
clears them to `[]`.

Example: `tai presets set-version-tags my_preset 2 stable reviewed`

```console theme={null}
$ tai presets set-version-tags [OPTIONS] NAME VERSION [TAGS]...
```

| Argument    | Description                                            |
| ----------- | ------------------------------------------------------ |
| `NAME`      | Preset name. *(required)*                              |
| `VERSION`   | Version number. *(required)*                           |
| `[TAGS]...` | The tags to set; none clears them to \[]. *(optional)* |

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

## `tai presets validate`

Dry-run a preset draft — report whether it would be accepted as a create (a
new name) or a new version (an existing name), without writing anything.

Example: `tai presets validate greet --base-tool echo --kwargs '&#123;"prefix":"hi"&#125;'`

```console theme={null}
$ tai presets validate [OPTIONS] NAME
```

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

| Option                 | Description                                                                                                                                                                                                                                                                     |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--base-tool` `TEXT`   | The base tool (required for a new preset).                                                                                                                                                                                                                                      |
| `--kwargs` `TEXT`      | Baked fixed kwargs as a JSON object.                                                                                                                                                                                                                                            |
| `--description` `TEXT` | Human description.                                                                                                                                                                                                                                                              |
| `--tag` `TEXT`         | A tag (repeatable).                                                                                                                                                                                                                                                             |
| `--extensions` `TEXT`  | Extension combos as a JSON array of combos. Each combo is a non-empty array of elements, and an element is an extension name ('"chain"') or a \{"name","config"} object binding config to it (e.g. '\[\[\{"name":"output\_schema","config":\{"schema":\{"type":"object"}}}]]'). |
| `--json` / `--no-json` | Emit raw JSON instead of human tables.                                                                                                                                                                                                                                          |

## `tai presets versions`

List a preset's version history.

Example: `tai presets versions my_preset`

```console theme={null}
$ tai presets versions [OPTIONS] NAME
```

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

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