---
title: Label
description: Add, remove and toggle labels on a pull request.
---

The `label` action allows Mergify to automatically add or remove labels from a
pull request based on the conditions specified in your rules, making your
workflow more organized and efficient.

## Parameters

| Key name | Value type | Default | Description |
| --- | --- | --- | --- |
| `add` | list of template |  | The list of labels to add. |
| `remove` | list of template |  | The list of labels to remove. |
| `remove_all` | boolean | `false` | Remove all labels from the pull request. |
| `toggle` | list of template |  | Toggle labels in the list based on the conditions. If all the conditions are a success, all the labels in the list will be added, otherwise, they will all be removed. |

## Examples

### WIP

```yaml
pull_request_rules:
  - name: add "WIP" label when the title contains "WIP"
    conditions:
      - title ~= WIP
    actions:
      label:
        toggle:
          - WIP
```

In this example, Mergify will automatically add the "WIP" label to any pull
request whose title contains "WIP". If the pull request does not match the
rule anymore, the label will be removed.

### Warn on Conflicts

When browsing the list of pull request, GitHub does not give any indication on
which pull requests might be in conflict. Mergify allows to do this easily by
adding a label.

```yaml
pull_request_rules:
  - name: warn on conflicts
    conditions:
      - conflict
    actions:
      comment:
        message: "@{{author}} this pull request is now in conflict 😩"
      label:
        toggle:
          - conflict
```

Then, your pull request list will look like this on conflict:

<Image src={prConflictScreenshot} alt="Pull request in conflict in pull request list" />

### Toggle A Label Based on CI Status

This rule toggle a label based on the failure status of a CI system.

```yaml
pull_request_rules:
  - name: toggle labels based on CI state
    conditions:
      - check-failure = CI
    actions:
      label:
        toggle:
          - "CI:fail"
```

### Add A Label Based on The Name of The Branch

This rule add a label with the name of the branch.

```yaml
pull_request_rules:
  - name: add a label with the name of the branch
    conditions: []
    actions:
      label:
        add:
          - "branch:{{base}}"
```
