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

# bt tools

> List, view, delete, and invoke Braintrust tools from the CLI.

`bt tools` manages Braintrust tools from the CLI. It is an alias for [`bt functions`](/docs/reference/cli/functions) scoped to tools.

## Subcommands

| Subcommand                   | Description                       |
| ---------------------------- | --------------------------------- |
| `bt tools`                   | List tools in the current project |
| `bt tools list`              | List tools in the current project |
| `bt tools view [slug-or-id]` | View a tool's details             |
| `bt tools delete [slug]`     | Delete a tool                     |
| `bt tools invoke [slug]`     | Invoke a tool                     |

When no tool is specified, `view`, `delete`, and `invoke` prompt you to select one in an interactive terminal. Pass a slug in non-interactive environments; `delete --force` also requires a slug. `view` additionally accepts a function ID beginning with `fn_` or `func_`.

## Examples

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
bt tools list
bt tools view my-tool
bt tools view fn_123
bt tools view --id fn_123
bt tools invoke my-tool --input '{"key":"value"}'
bt tools delete my-tool
```

## Command-specific flags

| Command           | Flag                        | Description                                                    |
| ----------------- | --------------------------- | -------------------------------------------------------------- |
| `bt tools view`   | `--slug`, `-s <SLUG>`       | Tool slug (alternative to the positional argument)             |
| `bt tools view`   | `--id <ID>`                 | Function ID selector                                           |
| `bt tools view`   | `--version <VERSION>`       | Version selector                                               |
| `bt tools view`   | `--web`                     | Open the tool in your browser                                  |
| `bt tools delete` | `--slug`, `-s <SLUG>`       | Tool slug (alternative to the positional argument)             |
| `bt tools delete` | `--force`, `-f`             | Skip the confirmation prompt. Requires a tool slug             |
| `bt tools invoke` | `--slug`, `-s <SLUG>`       | Tool slug (alternative to the positional argument)             |
| `bt tools invoke` | `--input`, `-i <INPUT>`     | JSON input to the tool                                         |
| `bt tools invoke` | `--message`, `-m <MESSAGE>` | User message. Pass multiple times to provide multiple messages |
| `bt tools invoke` | `--mode <MODE>`             | Response format: `auto`, `json`, `text`, or `parallel`         |
| `bt tools invoke` | `--version <VERSION>`       | Pin to a specific function version                             |

For shared function behavior and flags, see [`bt functions`](/docs/reference/cli/functions).
