
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](../trust/support-and-contact.md).

See [How long does a review take?](../reviews/review-duration.md) 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](../extension/pr-action-menu.md) 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:

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

See [Mid-review pushes](../reviews/mid-review-pushes.md) 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](../trust/support-and-contact.md) 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](../reviews/mid-review-pushes.md) 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.
