Fix failing CI runs with an AI agent, in the same pull request
Treat a failed check like a review comment: capture the failing output, hand it to an agent together with the pull request's context, and land the fix as one more commit on the same branch so the checks run again. ProPR does this on its own once automatic CI follow-up is on for the repository; on public propr #2628 the fix commit landed within four minutes of the failure.
Overview
How to fix CI failures automatically without losing the review
Four rules keep an automatic fix reviewable:
- The fix lands on the same branch and pull request, as a normal commit, so reviewers see it in the thread they already have open.
- The failure evidence travels with the request: which check, which commit, the run link and the output, so the agent fixes the real failure and the reviewer sees what it was given.
- The checks run again on the new commit, and the agent never decides whether they passed.
- A person still merges.
Turn it on for the repository
Switch on automatic CI follow-up in the repository settings. From then on, a failed check on a ProPR pull request starts a fix without anyone pasting anything. The follow-up docs cover the settings.
What happens when a check fails
ProPR posts the failure on the pull request: the check, the commit, a link to the run and the failure evidence from the check's output. An agent reads that failure with the PR's context in an isolated workspace, ProPR pushes the fix to the same branch, and the completion comment explains what changed, with links to the task, the commit and an undo. Your checks run again on the new commit.
On public propr #2628, the Validate Changes check failed on a lint rule at 13:05 UTC. GPT-6 Astra brought the file under the 400-line limit, and ProPR pushed fix commit 9296e95 at 13:08.

Paste the failure yourself, and keep CI out of the loop's way
Without the setting, copy the failing output into a PR comment and the fix lands the same way, as a follow-up commit. Ultrafix, the review-and-fix loop, waits for the blocking checks to go green before it starts the next cycle, so a red check never gets buried under another fix pass.
Two repository settings keep CI from fighting the agent. Name checks by pattern, such as lint-*, and their failures stop holding up /merge, auto-merge and Ultrafix while GitHub still shows every result. Name the workflows whose runs ProPR cancels the moment a follow-up starts, so CI minutes go to the commit that matters. Both settings.
A stale branch is a CI failure too
When the base branch moves and the pull request no longer merges cleanly, comment /merge. ProPR merges the base branch into the PR branch, resolves the conflicts in an isolated task and pushes a real merge commit; your checks verify it like any other commit, and the pull request waits for you. Turn on automatic conflict resolution per instance or per repository and the update happens without the comment. Resolve branch conflicts.