| name | glab-runner |
| description | Manage GitLab CI/CD runners using the glab CLI. Use this skill whenever the user wants to list, pause, unpause, assign, unassign, or delete CI/CD runners. Trigger on phrases like "list runners", "pause a runner", "assign runner to project", "check runner status", "delete a runner", or any GitLab runner management task. |
GitLab CI/CD Runner Management
Use glab runner to manage CI/CD runners at project, group, or instance level.
List Runners
glab runner list
glab runner list -g <group>
glab runner list -i
glab runner list -O json
View Jobs on a Runner
glab runner jobs <runner-id>
Shows active and recent jobs for the given runner.
Pause / Unpause a Runner
glab runner update <runner-id> --pause
glab runner update <runner-id> --unpause
Pausing prevents the runner from picking up new jobs without removing it.
Assign / Unassign Runner to Project
glab runner assign <runner-id>
glab runner unassign <runner-id>
Delete a Runner
glab runner delete <runner-id>
Note: Deleting a runner removes it permanently. The runner process on the host will need to be stopped separately.
View Runner Managers
glab runner managers <runner-id>
Shows the machines/processes running the runner.
Behavior Guidelines
- Scope flags are mutually exclusive:
-i (instance), -g <group>, and -R <repo> cannot be combined — pick the right scope.
- Before deleting: Always check
glab runner jobs <id> to ensure no active jobs are running.
- Pause vs delete: Recommend
--pause for temporary maintenance rather than deletion — it's reversible.
- Admin access: Instance-level runner listing (
-i) requires GitLab admin or owner permissions.
- Runner IDs: Use
glab runner list -O json | jq '.[].id' to get runner IDs for scripting.