Stacked-PR merge box doesn't offer repo admins the "bypass rules and merge" option that standalone PRs get
- Dominant language
- Go
- Stars
- 1.5k
- Forks
- 70
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 7
Description
### Summary
On github.com, a repo admin trying to merge a **blocked** standalone PR (e.g. "Review required") is offered a **"bypass rules and merge"** control — "Merge without waiting for requirements to be met" — the admin escape hatch for branch-protection / ruleset requirements. Inside the **Stacked PRs** merge box that control is **not surfaced**: a blocked stacked PR only shows the stack flow ("Merging is blocked", "Unable to merge as a stack", disabled "Squash and merge stack"), with no per-PR admin bypass option. A repo admin therefore cannot bypass-merge a stacked PR from the web UI and has to fall back to the CLI: `gh pr merge --admin`.
Filing here since `gh stack` is the interface to the Stacked PRs feature and SUPPORT.md routes bug reports to this repo. Extension version **v0.0.8**.
### Reproduction
1. On a repo whose `main` requires ≥1 approving review, create a stack: `gh stack link --base main ` (chain `main ← A ← B ← C`).
2. With no approving review submitted, open a blocked member PR in the web UI **as a repo admin**.
3. The merge box shows "Merging is blocked — At least 1 approving review is required" / "Unable to merge as a stack". There is **no** "bypass rules and merge" control — the affordance a normal blocked PR would show an admin is missing.
Observed on both an intact stack and a partially-merged one.
### Expected
A repo admin should get the same "bypass rules and merge" escape hatch on a stacked PR that they get on a standalone PR — able to admin-override-merge the individual PR from the web UI, without dropping to `gh pr merge --admin`.
### Why it's more than a nuisance
It becomes inescapable once the stack is **partially merged**: after squash-merging the lower PRs, the top PR stays open and stack-associated, but the stack can't be dissolved to free it — `gh stack unstack` refuses with `Unstacking not allowed: Pull requests , cannot be removed from this stack` (server-gated; merged members stay pinned). With no web bypass control **and** no way to unstack, the only route to merge the stranded PR is `gh pr merge --admin`. The unstack / partial-merge limitation itself is already tracked in Discussions #230 and #310 — this issue is specifically about the missing **admin bypass-merge** affordance in the stacked-PR merge UI.
Minor client note: the `unstack` warning at `cmd/unstack.go:228` hard-codes "queued for merge or have auto-merge enabled" as the reason for a `dissolved=false` result, which is misleading when the real cause is merged members — but that's secondary.
Contributor guide
Research direction
Reproduce the stacked-PR behavior using `gh stack link --base main ` and compare it with the standalone GitHub merge box. Review the stacked-PR merge integration and the related warning at `cmd/unstack.go:228`; done means repo admins can access the web UI's bypass-rules merge action for an individual stacked PR without using `gh pr merge --admin`.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, go
- Domain
- cli, frontend
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100