---
title: GitLab tracker
description: GitLab issues via the glab CLI. Self-hosted instances supported.
---

<div style={{ display: "flex", alignItems: "center", gap: "0.75rem", margin: "0.5rem 0 1.25rem" }}>
  <Logo name="gitlab" size={28} color />
  <span style={{ fontSize: "0.8125rem", color: "var(--color-fd-muted-foreground)" }}>Slot: <code>tracker</code> · Name: <code>gitlab</code></span>
</div>

<PlatformSupport macos="full" linux="full" windows="full" />

Uses [`glab`](https://gitlab.com/gitlab-org/cli) the same way the GitHub tracker uses `gh`.

## Setup

```bash
glab auth login
```

```yaml title="agent-orchestrator.yaml"
tracker:
  name: gitlab
  host: gitlab.com          # default; override for self-hosted
projects:
  myproject:
    repo: group/project
```

| Config key | Default | What it does |
|---|---|---|
| `host` | `gitlab.com` | GitLab hostname — override for self-hosted instances |

<Callout type="warn">
`host` belongs on the **`tracker`** block (plugin-level config), not inside `trackerConfig`. `trackerConfig` is for per-project passthrough fields (labels, assignee, milestone). Putting `host` inside `trackerConfig` will not be read.
</Callout>

## Self-hosted

```yaml
tracker:
  name: gitlab
  host: gitlab.mycorp.com
```

`glab` reads its own hostname config from `~/.config/glab-cli/`. Make sure that matches.

## Limits

- Issue field coverage maps 1:1 with `gh`'s GitHub equivalents.
- Label / milestone filtering works via `glab issue list --label <name>`.
