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

# murmur tag add

> Attach one or more registered dashboard tags to an existing agent, keeping the tags it already carries.

Attaches [tags](/catalog/tag) to an existing [agent](/concepts/agents). Every tag the agent already carries stays, in its current order. New tags are appended. A tag the agent already carries is not attached twice.

Each tag must be defined in the tenant tag registry and not archived. [`murmur get tag`](/cli/get) lists the defined tags, and [`murmur set tag <NAME>`](/cli/set) defines one. An agent carries at most 8 tags.

## Synopsis

```bash theme={null}
murmur tag add [flags] <SLUG> <TAG>...
```

## Arguments

| Name | Type | Required | Description |
| - | - | - | - |
| `SLUG` | string | yes | The agent's slug, a child path, or an absolute path. |
| `TAG` | string | yes | One or more tag names to attach. |

## Flags

| Name | Type | Default | Description |
| - | - | - | - |
| `--workspace` | string | from `murmur.yaml` | Workspace the agent belongs to. |
| `--manager` | string | none | Declare the system responsible for this agent record, recorded as its `managed_by` marker (for example, your automation's name). Later writes that do not declare it are refused unless forced. Leave unset for a manual edit. |
| `--force-ownership` | bool | `false` | Write even when another system manages the agent record. Overrides the `managed_by` marker and nothing else. Without `--manager`, the write releases the record (clears `managed_by`). With `--manager`, that manager becomes the new one. |

Requires `agent.edit` on the agent.

## Output

One line with the agent's tag set after the edit:

```
<SLUG> tags: <tag>, <tag>
```

When the agent already carried every tag named, the line ends with `(unchanged)`.

## Examples

### Attach a tag

```bash theme={null}
murmur tag add fix-auth ready-for-review
```

```
fix-auth tags: backend, ready-for-review
```

### Re-run the same command

```bash theme={null}
murmur tag add fix-auth ready-for-review
```

```
fix-auth tags: backend, ready-for-review (unchanged)
```

## Errors

| Code | Meaning | What to do |
| - | - | - |
| `INVALID_ARGUMENT` | `tag "<name>" is not defined in the tenant tag registry` | Define it with [`murmur set tag <NAME>`](/cli/set), or check the name with [`murmur get tag`](/cli/get). |
| `INVALID_ARGUMENT` | `tag "<name>" is archived and cannot be newly attached` | Choose a tag that is not archived. |
| `INVALID_ARGUMENT` | `too many tags: <N> (max 8)` | Detach a tag with [`murmur tag rm`](/cli/tag-rm) first. |
| none | `agent "<SLUG>" is managed by "<manager>", which may overwrite this change on its next run; re-run with --force-ownership to write anyway and release the resource, clearing its managed_by marker` | Change the tags through the manager, or re-run with `--force-ownership`. |
| `NOT_FOUND` | No agent with that slug exists. | Check the slug with [`murmur ls`](/cli/ls). |
| `PERMISSION_DENIED` | You lack `agent.edit` on the agent. | Ask for a role that grants `agent.edit`. See [authorization](/security/authorization). |

## Related

* [`murmur tag ls`](/cli/tag-ls): list an agent's tags
* [`murmur tag rm`](/cli/tag-rm): detach tags from an agent
* [`tag`](/catalog/tag): the tenant tag registry
* [`murmur spawn --tag`](/cli/spawn): tag a new agent at spawn time
