GitHub Actions "The runner was unable to update the labels"
During registration or reconfiguration the runner reports its labels to GitHub; if that call is rejected or the token lacks scope, the runner cannot update its labels and the join fails.
What this error means
The runner service log or configuration output reports that it was unable to update the labels, and the runner either does not appear online or appears with the wrong labels.
Error: The runner was unable to update the labelsCommon causes
Invalid or expired registration token
The token used by config.sh expired or lacks permission to set labels for that runner group, so the label update is rejected.
Conflicting label assignment
A label is reserved or already owned at the group level, so the runner cannot claim it.
How to fix it
Re-register with a fresh token and valid labels
- Generate a new registration token from Settings > Actions > Runners.
- Re-run config.sh with an explicit, allowed --labels list.
- Confirm the runner group permits the requested custom labels.
./config.sh --url https://github.com/ORG/REPO \
--token <FRESH_TOKEN> \
--labels self-hosted,linux,gpuHow to prevent it
- Use a freshly minted registration token for each (re)config.
- Keep custom labels documented and non-conflicting per group.
- Monitor runner service logs for label sync errors.