claude-code - 💡(How to fix) Fix Claude Code Review GitHub App: 2h timeout with conclusion=neutral, no review output, credits consumed

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Root Cause

Impact

  • No reviews delivered. The app appears installed and active, posts a check-run, but never writes a review body.
  • Credit consumption with zero output. A 2-hour agent run is not free. Each failed run consumes org credits with nothing to show.
  • Silent failure mode. conclusion: neutral and the unchanged "Code review in progress..." summary give no diagnostic signal to the user. The only way to discover this is to compare started_at vs completed_at and notice the exact-2h pattern.
  • Workflow regression. Relying on third-party tooling locally because the cloud reviewer isn't usable.

Fix Action

Fix / Workaround

Workaround in the meantime

RAW_BUFFERClick to expand / collapse

Summary

The Claude Code Review GitHub App fires on PR events and starts a check-run, but never produces a review body or comments. After roughly 2 hours the check-run is closed with conclusion: neutral, leaving the PR unreviewed. Each failed run still consumes org-level credits.

Environment

  • Repo: a private repo (details redacted)
  • App: Claude Code GitHub App (installed at user level, "All repositories")
  • Permissions: Read+write on checks, code, discussions, issues, pull requests, repository hooks, workflows; Read on actions and metadata
  • Org plan: Team plan with extra usage ON and a monthly spend cap configured
  • Review Behavior (claude.ai/admin-settings/claude-code): Recently changed from "Once-after PR creation" to "After every push" — bug reproduces under both settings
  • Repo stack: React + TypeScript + Vite + MUI + Amplify Gen2 (auth, data, lambdas), monorepo with frontend/ and amplify/ top-level dirs

Observed runs

Run 1 — initial PR creation (Once-after PR creation behavior)

  • check-run started: 2026-05-16T02:59:27Z
  • check-run completed: 2026-05-16T04:59:28Z (exactly 2 hours later)
  • conclusion: neutral
  • PR reviews/comments posted: 0
  • Check-run output title at completion: unchanged from "Code review in progress..."

Run 2 — synchronize push after settings change

  • check-run started: 2026-05-16T13:49:01Z
  • Status as of writing (16+ min in): in_progress
  • Output summary: "Claude is reviewing this PR. Results will appear as review comments."

The PR diff is small: ~200 lines across 7 files, mostly TypeScript and one .gitignore line. Well within typical review-size limits.

Earlier reviews on this repo

The app DID post review messages on prior PRs on 2026-05-15, but those were "Code review skipped — overage spend limit reached" placeholders, not actual reviews. The spend cap was raised same day. After the raise, no actual review has ever been produced on this repo — only the 2h-neutral pattern.

Independent verification using a third-party review tool

To rule out diff-side issues, the same PR diff was reviewed via a third-party CLI review tool four times in this session, each pass completing in under 2 minutes with substantive findings (it caught three real bugs that the initial fix missed, plus a regex overmatch and a lockfile sync issue). So the diff is parseable and reviewable — it's specifically the Claude Code GitHub App that isn't completing.

Impact

  • No reviews delivered. The app appears installed and active, posts a check-run, but never writes a review body.
  • Credit consumption with zero output. A 2-hour agent run is not free. Each failed run consumes org credits with nothing to show.
  • Silent failure mode. conclusion: neutral and the unchanged "Code review in progress..." summary give no diagnostic signal to the user. The only way to discover this is to compare started_at vs completed_at and notice the exact-2h pattern.
  • Workflow regression. Relying on third-party tooling locally because the cloud reviewer isn't usable.

What we'd like

  • Investigate whether the 2-hour pattern indicates a worker hang vs a model-call timeout vs a sandbox stall.
  • Either:
    • Surface diagnostic detail in the check-run output.text when conclusion is neutral, OR
    • Time out earlier and post a clear "Review failed — please report run_id X" comment instead of silent neutral.
  • Avoid consuming credits when the run hits an internal failure and produces no review.
  • Confirm whether monorepo layouts (Amplify Gen2 backend + Vite frontend in sibling top-level dirs) need special handling — if there's a known issue, document it.

Workaround in the meantime

Using a third-party review tool locally as the primary review path on this repo. Happy to share more telemetry, run output, or repo access privately if useful for debugging.

cc the Claude Code team.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Claude Code Review GitHub App: 2h timeout with conclusion=neutral, no review output, credits consumed