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

# vesslctl tag

> Create and manage tags to organize and filter jobs.

The `tag` command lets you create, list, and delete tags at the organization level. Tags can be attached to jobs for filtering and categorization.

## create

Create a new tag in your organization.

```bash theme={null}
vesslctl tag create <value>
```

| Argument | Description              |
| -------- | ------------------------ |
| `value`  | Display name for the tag |

| Flag      | Default   | Description                                      |
| --------- | --------- | ------------------------------------------------ |
| `--color` | `#808080` | Tag color in hex format (for example, `#ff0000`) |

**Example:**

```bash theme={null}
vesslctl tag create "experiment-v2" --color "#3b82f6"
```

## list

List all tags in your organization.

```bash theme={null}
vesslctl tag list
```

**Example output:**

```
SLUG                VALUE            COLOR     CREATOR    CREATED
tag-abc123          experiment-v2    #3b82f6   wayne      2026-04-15T09:00:00Z
tag-def456          baseline         #808080   alice      2026-04-14T15:30:00Z
```

## delete

Delete a tag by its value or slug.

```bash theme={null}
vesslctl tag delete [value]
```

| Argument | Description                                                        |
| -------- | ------------------------------------------------------------------ |
| `value`  | Tag value to delete (positional, mutually exclusive with `--slug`) |

| Flag     | Short | Description                         |
| -------- | ----- | ----------------------------------- |
| `--slug` | `-s`  | Delete tag by slug instead of value |

**Example:**

```bash theme={null}
# Delete by value
vesslctl tag delete "experiment-v2"

# Delete by slug
vesslctl tag delete -s tag-abc123
```

***

## Job tag commands

Tags can be attached to and detached from jobs using `vesslctl job tag`. When you attach a tag value that does not exist yet, it is created automatically.

### job tag attach

Attach a tag to a job.

```bash theme={null}
vesslctl job tag attach <slug> [tagValue]
```

| Argument   | Description                                      |
| ---------- | ------------------------------------------------ |
| `slug`     | Slug of the job                                  |
| `tagValue` | Tag value to attach (auto-creates if not exists) |

| Flag     | Short | Description                         |
| -------- | ----- | ----------------------------------- |
| `--slug` | `-s`  | Attach tag by slug instead of value |

**Example:**

```bash theme={null}
# Attach by value (auto-creates the tag if needed)
vesslctl job tag attach job-abc123 "nightly-run"

# Attach by slug
vesslctl job tag attach job-abc123 -s tag-def456
```

### job tag detach

Detach a tag from a job.

```bash theme={null}
vesslctl job tag detach <slug> [tagValue]
```

| Argument   | Description         |
| ---------- | ------------------- |
| `slug`     | Slug of the job     |
| `tagValue` | Tag value to detach |

| Flag     | Short | Description                         |
| -------- | ----- | ----------------------------------- |
| `--slug` | `-s`  | Detach tag by slug instead of value |

**Example:**

```bash theme={null}
vesslctl job tag detach job-abc123 "nightly-run"
```

<Tip>
  Use `vesslctl job create --tag "my-tag"` to attach tags at job creation time. The `--tag` flag is repeatable and auto-creates tags that don't exist.
</Tip>
