Reviews stuck in 'in progress'

What to do when a review's summary comment shows 'in progress' for longer than the typical review window.

Last updated

The PR-level summary comment shows in progress and has not updated to a verdict for longer than the typical review window. This is usually a slow run finishing up — most reviews complete in 2–5 minutes, but a few legitimately take 10 minutes or more. If the review has been running for over 15 minutes, you can push a new commit to queue a fresh review — it starts once the current review's queue slot is released, though a genuinely stuck review can hold that slot for up to 90 minutes before the system clears it automatically.

Symptom

What you see

  • The PR-level summary comment shows Queued then In progress but never updates to PASS, ADVISORY, or FAIL.
  • No inline review comments are posted on any file.
  • The status check ai-pr-review shows pending.
  • This persists for noticeably longer than the team's typical review time.

How long is too long?

  • 2–5 minutes is the normal range. No action needed.
  • 5–10 minutes is normal when a review takes longer than usual — for example, during high AI-provider load. Still no action needed.
  • 10–15 minutes is the upper end of normal. If you are not in a hurry, wait it out.
  • Over 15 minutes is unusual. See the fix below to queue a fresh review behind it.
  • Over 30 minutes with no progress means open a support request.

See How long does a review take? for the full latency model.

Why it happens

AI processing is taking longer than usual

ADO Pilot's AI analysis sometimes takes longer when our AI provider is handling high request volume. This is by far the most common reason for an in progress state lasting longer than expected — there is nothing wrong with your PR, and the review will complete on its own.

The review switched to a slower path

If the primary processing path takes too long or returns a transient error, ADO Pilot automatically switches to a slower but more reliable path to finish the review. The output is identical; the review just takes a little longer end to end.

Truly stuck (orphaned) review

A small fraction of runs hit a transient error that prevents normal completion. Our backend automatically finalizes these as failed if a review hasn't reached a final verdict within roughly 30 minutes of being queued, but the cleanest fix from your side is just to push a new commit. When that happens, the internal review record is marked failed — the PR summary comment and status check are not updated further, so the comment will remain at review in progress rather than spinning forever. Pushing a new commit queues a fresh review and replaces the stale indicator.

How to fix it

Wait it out

If the review has been running for under 15 minutes, the fastest path is usually to wait. Pushing a new commit now queues a new review behind the in-flight one — that queue slot isn't released until the current review finishes or, if it's genuinely stuck, until an automatic 90-minute timeout clears it.

Use the Run AI Review action menu

If you prefer not to push a commit, you can trigger a new review directly from the Azure DevOps PR page. Open the pull request, click the three-dot overflow menu (the ellipsis in the PR toolbar — the same menu that hosts Mark as draft and Abandon), and select Run AI Review. A confirmation dialog appears; click Run review to start the review.

If you click Run review and then click it again in the same dialog session, the second click is collapsed server-side and the dialog shows Review already in progress — you will not be charged twice.

See Using the PR action menu for the full list of dialog outcome states.

Push a new commit to restart

If you have edits to land anyway, push them. ADO Pilot detects the new iteration and queues a new review behind the one already running. The new review starts once that queue slot is released — normally when the in-progress review finishes, or after an automatic 90-minute timeout if it's genuinely stuck. The summary comment updates in place rather than spawning a duplicate.

If you have no actual edits to make, an empty commit works:

git commit --allow-empty -m "trigger ADO Pilot review"
git push

See Mid-review pushes for the full queuing semantics.

Contact support after 30 minutes

If the review has been in progress for more than 30 minutes with no update, the review is genuinely stuck and our system should have already finalized it as failed. Open a support request with the PR URL and the time you first noticed.

How to prevent it

  • Keep PRs to a manageable size. Smaller PRs are reviewed faster and put less pressure on model context windows.
  • Rapid pushes don't queue up a long chain of reviews. Each push queues behind the review already running, but ADO Pilot makes a best-effort attempt to review only the latest waiting iteration — earlier ones in the queue are skipped before they start, at no cost in review credits. The review already in progress always finishes first. See Mid-review pushes for the full behavior.
  • Watch your review history. A persistent pattern of slow reviews (every PR taking 10+ minutes) is worth reporting; isolated slow runs are normal.