claude-code - 💡(How to fix) Fix /ultrareview hangs after 'Claude Code process started' — no review-bug events emitted, 30-min timeout [1 comments, 2 participants]

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…
GitHub stats
anthropics/claude-code#54229Fetched 2026-04-29 06:32:51
View on GitHub
Comments
1
Participants
2
Timeline
8
Reactions
1
Author
Timeline (top)
cross-referenced ×3labeled ×3commented ×1subscribed ×1

/ultrareview <PR#> consistently fails on a moderately-sized monorepo (indigoae/bellatune, ~6.6 MB diff under review). The remote sandbox provisions and clones successfully, the review agent's process starts, but no <review-bug> events are ever emitted to the events stream. The session eventually hits the 30-minute timeout and surfaces as Remote review failed: remote session exceeded 30 minutes.

Two consecutive attempts on the same PR exhibited the identical failure shape, suggesting a deterministic bug rather than a transient infrastructure issue.

Root Cause

/ultrareview <PR#> consistently fails on a moderately-sized monorepo (indigoae/bellatune, ~6.6 MB diff under review). The remote sandbox provisions and clones successfully, the review agent's process starts, but no <review-bug> events are ever emitted to the events stream. The session eventually hits the 30-minute timeout and surfaces as Remote review failed: remote session exceeded 30 minutes.

Two consecutive attempts on the same PR exhibited the identical failure shape, suggesting a deterministic bug rather than a transient infrastructure issue.

Fix Action

Workaround

We built a local equivalent in 12 Opus sub-agents (6 specialist scanners + 6 cross-verifiers) using the Claude Code SDK. ~25 min wall-clock, paper-based code-tracing instead of sandbox reproduction. Found 2 confirmed P0 operator-visible bugs, 5 P0 test-coverage gaps, 6 P1s, 6 P2s, ~14 P3 nits. The bugs were real and we've fixed them.

This is not a substitute for /ultrareview's sandbox-reproduced verification (which is the higher-signal half of the feature), but it's a viable fallback when the cloud path is broken.

RAW_BUFFERClick to expand / collapse

Repository: anthropics/claude-code Component: /ultrareview (research preview) Severity: blocks the feature on real-world repos; consumes free-run quota with no findings

Summary

/ultrareview <PR#> consistently fails on a moderately-sized monorepo (indigoae/bellatune, ~6.6 MB diff under review). The remote sandbox provisions and clones successfully, the review agent's process starts, but no <review-bug> events are ever emitted to the events stream. The session eventually hits the 30-minute timeout and surfaces as Remote review failed: remote session exceeded 30 minutes.

Two consecutive attempts on the same PR exhibited the identical failure shape, suggesting a deterministic bug rather than a transient infrastructure issue.

Reproduction

  1. PR under review: a 5-commit architectural refactor on a Python monorepo. git diff origin/master..HEAD is 6608 lines, 23 files. The repo itself is too large for the local-bundle path (the /ultrareview confirmation prompt rejects it with "Repo is too large. Push a PR and use /ultrareview <PR#> instead.").
  2. Pushed to a draft branch, opened PR.
  3. Ran /ultrareview <PR#>. Confirmed launch.
  4. Track URL surfaces a session ID. Review runs in the cloud sandbox.
  5. ~30 minutes later: task-notification reports Remote review failed: remote session exceeded 30 minutes.

Failure shape (verified via the events API)

Used ~/.claude/.credentials.json claudeAiOauth.accessToken against GET https://api.anthropic.com/v1/code/sessions/{session_id}/events with anthropic-version: 2023-06-01.

Both sessions show this event sequence (oldest first):

  1. Allocating sandbox
  2. Environment runner started
  3. Initializing environment
  4. Cloning repository indigoae/bellatune
  5. Cloning repository indigoae/bellatune (still in progress...)
  6. Cloning repository indigoae/bellatune (presumably finished)
  7. Finished processing sources
  8. No setup script configured
  9. Parallel initialization completed
  10. Claude Code executor created
  11. Starting Claude Code
  12. Claude Code process started
  13. (no further events for ~29 minutes)
  14. Session marked failed with timeout message

Event types present in the stream: env_manager_log, system, control_request, control_response. No tool_use, no agent_log, no <review-bug> envelopes — the review agent never produces observable activity.

Two reproductions

#Session IDSetup durationTime of "Claude Code process started"Time of timeoutTotal events
1session_01F4t6gggkqB83NNnxpcWDDi~51s04:00:04 UTC04:30 UTC14
2session_01VrDtLfdyfNzPkufEYxVpLc~14 min05:32:52 UTC~06:02 UTC22

Both used the same PR (rebased between attempts to land a CI fix on master). Setup duration varied substantially; the post-startup silence was consistent.

What we tried in between

  • Attempt 1 was on a stale base. We then rebased onto a fresh master that included a CI fix.
  • Reduced any setup-script complexity. Both attempts ran without a configured setup script (confirmed by the No setup script configured event).
  • Confirmed PR is structurally fine: mergeable, no draft, all CI green on the PR after the rebase.

Suggested investigation paths

  1. Subprocess silence inside the sandbox: the Claude Code process starts but produces no events. Is its stdout/stderr piped somewhere that's being throttled or not flushed? Are tool_use events serialized to the events stream synchronously, or buffered behind something that's hanging?
  2. Diff size threshold: 6608 lines / 23 files is moderate. Is there a per-PR token budget or context-window pre-fill that's stalling the agent before it makes the first tool call?
  3. Repo size threshold: the repo is large enough that the local-bundle path was rejected. Is there a memory/disk constraint inside the sandbox that's choking the review agent during context build-up?
  4. Specific to this repo's structure: heavy use of pipeline/CLAUDE.md, pipeline/CURRENT_STATUS.md, etc. Many MD files in the diff. Some agents discovery / context-loading step might be timing out without surfacing a failure.

Workaround

We built a local equivalent in 12 Opus sub-agents (6 specialist scanners + 6 cross-verifiers) using the Claude Code SDK. ~25 min wall-clock, paper-based code-tracing instead of sandbox reproduction. Found 2 confirmed P0 operator-visible bugs, 5 P0 test-coverage gaps, 6 P1s, 6 P2s, ~14 P3 nits. The bugs were real and we've fixed them.

This is not a substitute for /ultrareview's sandbox-reproduced verification (which is the higher-signal half of the feature), but it's a viable fallback when the cloud path is broken.

Impact on free-run quota

Two of three free runs (Pro plan, valid through 2026-05-05) were consumed by this bug with zero findings produced. A separate billing/credit request is being filed via the in-app support messenger.

Related

  • Memory note from a prior session at feedback_ultrareview_api_not_notification.md (in this account's ~/.claude/projects/.../memory/) flags a different /ultrareview reliability issue: task-notification under-delivers confirmed findings (3 of 7 observed on a separate PR in 2026-04-27). The events-API curl path is the workaround for that one.

extent analysis

TL;DR

The most likely fix or workaround for the /ultrareview failure is to investigate and address potential issues with subprocess silence, diff size thresholds, repo size constraints, or specific repo structure problems that may be causing the Claude Code process to hang or timeout.

Guidance

  1. Investigate subprocess silence: Check if the stdout/stderr of the Claude Code process is being piped or throttled, and if tool_use events are being serialized or buffered.
  2. Check diff size thresholds: Verify if there is a per-PR token budget or context-window pre-fill that may be stalling the agent.
  3. Verify repo size constraints: Confirm if there are memory or disk constraints inside the sandbox that may be choking the review agent.
  4. Analyze repo structure: Examine if the heavy use of specific files (e.g., pipeline/CLAUDE.md, pipeline/CURRENT_STATUS.md) is causing issues with agent discovery or context loading.

Example

No code snippet is provided as the issue is more related to the configuration and setup of the /ultrareview feature.

Notes

The provided workaround using the Claude Code SDK and Opus sub-agents may be a viable temporary solution, but it is not a substitute for the sandbox-reproduced verification provided by /ultrareview.

Recommendation

Apply the workaround using the Claude Code SDK and Opus sub-agents until the root cause of the /ultrareview failure is identified and addressed, as it provides a viable alternative for finding bugs and issues in the code.

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 /ultrareview hangs after 'Claude Code process started' — no review-bug events emitted, 30-min timeout [1 comments, 2 participants]