GitHub: a pull request from Copilot does not run its checks or merge
By default, GitHub Actions workflows do not run automatically when Copilot pushes changes to a pull request. To let them run, a user with write access to the repository clicks Approve and run workflows in the merge box of the pull request (GitHub: Troubleshooting GitHub Copilot cloud agent, checked October 28, 2026). The same pull request has review rules of its own: Copilot cannot mark it ready for review, approve or merge it, and the person who asked Copilot for it cannot approve it.
Copilot pushes to the pull request workflows wait for Approve and run workflows a draft from Copilot a person marks it ready for review the person who asked Copilot cannot approve it Copilot under its own app identity one more approval than the rule asks for Copilot itself cannot approve or merge
Why it happens
- Workflows can be privileged: GitHub Actions workflows can have access to sensitive secrets, so GitHub leaves them until a person has looked at what Copilot changed, especially any change to workflow files in
.github/workflows/(GitHub: Review output from Copilot). - Required checks wait too: a required check that comes from those workflows has nothing to report until the runs are approved, so the pull request stays blocked (see a required check stays Expected).
- A draft: draft pull requests created by Copilot cloud agent must be reviewed and merged by a person. Copilot cannot mark its pull requests Ready for review, and cannot approve or merge a pull request (GitHub: Risks and mitigations for GitHub Copilot cloud agent).
- The person who asked: the user who asked Copilot cloud agent to create a pull request cannot approve it, which keeps the Required approvals rule and branch protection meaningful. If the repository requires approvals, another reviewer must approve. An automation works the same way: its pull requests are attributed to the user who created the automation, and that user cannot approve them.
- Not attributed to a person: when Copilot opens a pull request under its own app identity, for example when it was prompted from a shared context such as a group thread or channel, the pull request needs one more approval than the number configured, as long as at least one is required. A ruleset that requires one approval then requires two from people with write access (GitHub: Available rules for rulesets).
- On by default: in rulesets this is Require an additional approval for unattributed Copilot pull requests, in public preview and turned on for new and existing rulesets; administrators can turn it off there. In branch protection rules it always applies.
- One branch: Copilot pushes only to a new
copilot/branch, or to the branch of the pull request where it was mentioned, and that branch follows the branch protections and required checks of the repository.
What to do
- Approve the runs: someone with write access reviews the changes, looking closely at anything in
.github/workflows/, then clicks Approve and run workflows in the merge box of the pull request. - Let them run on their own: a repository administrator can turn the approval off. In the repository, open Settings, then under Code, planning, and automation click Copilot, then cloud agent, and in the Actions workflow approval section turn off Require approval for workflow runs. GitHub warns that this may allow unreviewed code written by Copilot to gain write access to the repository or access its GitHub Actions secrets (GitHub: Configuring settings for GitHub Copilot cloud agent).
- Mark it ready: when the changes are good, a person marks the draft Ready for review; Copilot cannot.
- Ask someone else to approve: if you asked Copilot for the pull request, another person with write access approves it.
- Count one more approval: for a pull request under the Copilot app identity, get one approval more than the rule asks for, or have an administrator clear Require an additional approval for unattributed Copilot pull requests in the ruleset. With an approval required from someone other than the last person to push, at least one approval must still cover the last push and come from someone other than Copilot (see approval of the most recent push).
GitHub pull requests in IntelliJ IDEA
Pull Request Inbox for GitHub, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, shows the reviews, checks and conversations of a pull request next to the diff, and merges it with the methods the target branch allows. It lists the checks GitHub reports on the head commit. On a draft, its merge checks say to mark it ready for review first ("It is a draft: mark it ready for review first"), and it can mark the draft ready. When GitHub calls the pull request blocked, the merge checks name each required check that has not reported on that commit ("Required check "NAME" has not reported on this commit"), and while GitHub still calls a review required, they say that the rules still require an approving review, also when an approval is already listed. Approving workflow runs is done on GitHub; the plugin does not approve or start them. The review inbox, diffs and conversations are free; approving, commenting, resolving, drafts and merging are Pro (US$1.50 a month, with a 30-day trial).
GitHub is a trademark of GitHub, Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with or endorsed by GitHub, Inc. or JetBrains.
More: GitHub merge refused (405, 409) · GitHub review refused (422) · GitHub search 422 "Validation Failed" · "Resource not accessible by personal access token" · 401 "Bad credentials" · "Resource protected by organization SAML enforcement" · "API rate limit exceeded" · GitHub diff 406 "too_large", 3,000 files · GitHub line comment 422 "must be part of the diff" · GitHub branch update refused (422) · GitHub pull request not created (422, 403) · GitHub auto-merge refused · GitHub draft, ready for review or close refused · GitHub conversation not resolved · GitHub checks not shown (check runs 403) · GitHub file contents not read · GitHub compare refused (404, 422) · GitHub comment or reply refused (403 locked, archived) · GitHub merge method not allowed (405) · GitHub branch not found (404, 301) · GitHub Enterprise Server not reached · GitHub review request not shown · GitHub pull request list incomplete · GitHub 404 Not Found, renamed repositories (301, 307) · GitHub line comment outdated or not on the diff · GitHub pull requests not updating, notifications late · GitHub suggested change cannot be applied · GitHub required check stuck at "Expected" · GitHub code owner review required · GitHub merge blocked by unresolved conversations · GitHub merge blocked by unsigned commits · GitHub branch that merges through a merge queue · GitHub merge waiting for an approval of the most recent push · GitHub merge waiting for code scanning results · GitHub merge waiting for code quality results · GitHub merge blocked by a code coverage threshold · GitHub merge blocked by license compliance results · GitHub branch locked or its updates restricted · GitHub branch not deleted after merging · GitHub merge waiting for a team's approval (Required reviewers) · GitHub merge blocked by secret scanning alerts · GitHub stacked pull request not merging · GitHub push blocked by push rules · GitHub merge blocked by commit metadata rules · GitHub force push blocked · GitHub issue not closed by a merged pull request · GitHub pull request not checked out locally · GitHub pull request has merge conflicts · GitHub changes requested and dismissing a review · GitHub co-author not credited for a commit · GitHub dependency review check failed · GitHub Dependabot not rebasing its pull request · GitHub fork not syncing with upstream · GitHub pull request base branch not changing · GitHub pull request not reverting · GitHub pull request template not showing · GitHub pull request labels or assignees not added · GitHub pull request not closing or reopening · GitHub push blocked by push protection · GitHub pull request comment hidden · GitHub pull request blocked until deployments succeed · GitHub team review request replaced by members · GitHub pull request file no longer marked Viewed · GitHub pull request marked merged without being merged · GitHub Copilot review does not count as an approval · GitHub checks not running on a pull request a workflow created · GitHub Update branch button not shown on a pull request · GitHub checks failing on a Dependabot pull request · GitHub checks failing on a pull request from a fork · GitHub checks skipped by [skip ci] in a commit message · GitHub checks gone after the retention period · GitHub code review limits in a public repository · GitHub pull requests turned off or limited in a repository · GitHub checks run on every pull request in a stack · GitHub pull request showing commits already squash merged · GitHub pull request not showing a file diff · GitHub push to a pull request branch from a fork refused · GitHub check cancelled on a pull request · GitHub Rebase and merge not available · GitHub merge commit message not what you expected · GitHub pull request shows every line changed · GitHub API request timed out · GitHub pull request image or document diff not shown · GitHub review request refused (422) · GitHub push refused: GH006 and GH013 on a protected branch · GitHub "At least 1 approving review is required", approvals that do not count · GitHub pull request plugins for IntelliJ IDEA, compared · 日本語