---
title: "MGS3019: queue credential mismatch"
description: magus queue apply refused to start because the base requires the queue's commit status from one integration while apply holds another integration's credential.
tags: [MGS3019, merge queue, magus queue, github, rulesets, credentials]
---

# MGS3019: queue credential mismatch

`magus queue apply` read the rules on the base before merging anything and
found the queue's required status pinned to an integration its credential is
not.

```text
[MGS3019] main requires status "merge-queue" from integration 15368, and the
queue's credential posts it as 812345 (acme-magus-queue); pin "merge-queue" to
812345 or give the queue integration 15368's credential (magus queue describe
prints the pin)
```

## Why

A required status pinned to an integration counts only when that integration
posts it. On GitHub a status from any other source fails the rule with "was not
set by the expected GitHub App". The queue would post `success`, GitHub would
not count it, and every change would wait on it forever. Apply refuses at its
start so the mismatch surfaces once, by name, and never as a queue that
silently stops merging.

It happens in two ways:

- The ruleset pins the context to another integration, GitHub Actions (15368)
  say, and nobody applied the pin `magus queue describe --app <slug>` prints.
- The queue's app was replaced, and the ruleset still pins the old one.

## Resolution

Print the pin that matches the app apply holds, and apply it:

```sh
magus queue describe --provider github --base main --app <slug>
```

Or restore the app the ruleset expects. See the
[merge queue guide](../../../concepts/merge-queue.md) for the setup.

A context required without a pin accepts a status from anyone with write
access, so it never raises this. Neither does a provider that reports no setup.
