---
title: "MGS1050: a queue.carry_approvals entry magus cannot honor"
description: Fires when magus.yaml's queue.carry_approvals names something other than an approval carry tier, or names code. The config load stops.
tags: [MGS1050, magus.yaml, merge queue, approvals, config]
---

# MGS1050: a queue.carry_approvals entry magus cannot honor

`queue.carry_approvals` in `magus.yaml` lists the tiers of change since an
approval that leave the approval standing:

```yaml
queue:
  carry_approvals: [rebase, generated, prose, comment-only]
```

| Tier           | The change since the approval                                      |
| -------------- | ------------------------------------------------------------------ |
| `rebase`       | none: the approved diff, replayed onto the new base, is the head   |
| `generated`    | only files a target declares as its output, or magus maintains     |
| `prose`        | only files `gate_low_risk` claims (markdown by default)            |
| `comment-only` | only comments, by the comment syntax the language's spell declares |

`rebase` always carries, so `[]` and `[rebase]` both mean the strictest policy.
Unset carries every tier above.

This code fires when an entry is not one of those names, or is `code`. The
message names each entry and its line.

## Why

A misspelled tier read as absent would dismiss approvals the workspace meant
to keep, with nothing saying why. `code` is refused because an approval carried
over a code change vouches for code no reviewer saw.

## Resolution

- **A misspelling.** Use one of the four names above.
- **`code`.** Delete it. A change that touches code needs a fresh approval.
