[BUG] [ultrareview] Remote review returns empty findings ([]) on large-scope repositories
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Summary
/ultrareview completes successfully (task-notification status: completed) but returns an empty findings array ([]) on a large-scope branch. The free credit is consumed despite no usable output being returned to the CLI.
Environment
- Claude Code CLI (Opus 4.7, 1M context)
- Platform: macOS (Darwin 25.1.0)
- Shell: zsh
- Project: Android multi-module Kotlin/Compose app
Reproduction
- On a branch with a very large diff against
master:
3318 files changed+503,841 / -79,972lines
- Run
/ultrareview <prompt>from the CLI. - CLI reports:
Free ultrareview N of 3. Ultrareview launched for master (~5-10 min, runs in the cloud). - Wait for completion notification.
- Observe:
task-notificationreturnsstatus: completed, but findings payload is literally[].
Affected Sessions
Both attempts returned empty findings and each consumed one free credit:
session_016ssmzwUQ8d87MLf9pMEHMB(1st attempt)session_01NP6kyMuTcngES2Yi6qsmdE(2nd attempt, identical prompt)
Same branch, same scope, same prompt — both returned [].
Expected Behavior
One of:
- Actual findings are returned, OR
- The job fails with a clear error (e.g., "scope too large, reduce diff size"), AND
- Free credits are NOT consumed on empty/failed runs.
Actual Behavior
- Job marked
completed - Findings:
[] - Free credit decremented (
1 of 3→2 of 3) - No error message, no indication of why the review produced zero findings on a 500K+ line diff
Impact
- 2 of 3 free credits silently consumed with no usable output
- No way to distinguish "clean codebase" from "server silently skipped analysis" from the CLI response
- User has no recourse to retry without burning the last credit
Request
- Investigate why
ultrareviewreturns empty findings on large-scope diffs (is there an undocumented size limit?) - Refund the 2 consumed free credits for the sessions above
- Either surface a clear error when the scope exceeds analyzable limits, or do not decrement the credit counter on empty-result runs
Additional Notes
I held off on using the 3rd free credit to avoid a third silent failure. Happy to provide additional logs or re-run with instrumentation if helpful.
What Should Happen?
When I run /ultrareview against a large branch, one of the following should occur:
- Successful analysis — the remote agent analyzes the diff and returns a non-empty
findingsarray with actionable items (architecture issues, bugs, security concerns, etc.), matching the prompt I provided.
- Graceful failure with clear error — if the diff exceeds the analyzable scope (file count, line count, or token budget), the CLI should return an explicit error such as:
Error: scope exceeds ultrareview limits (max N files / M lines). Please narrow the scope via <flag> or target a smaller branch.- The task status should be
failed, notcompleted.
- No credit consumption on empty/failed runs — if the remote agent produces zero findings due to a server-side issue (not a genuinely clean codebase), the free credit counter should NOT decrement. Currently
1 of 3→2 of 3was deducted twice despite zero usable output.
- Distinguishable outcomes — the CLI response should let me tell apart:
- "Codebase is genuinely clean, no findings" (valid empty result)
- "Server silently skipped analysis" (should be an error, not empty success)
- "Scope too large, analysis truncated" (should be a warning with partial findings)
Right now all three collapse into an indistinguishable status: completed, findings: [].
Error Messages/Logs
Free ultrareview 1 of 3.
Ultrareview launched for master (~5-10 min, runs in the cloud).
Track: https://claude.ai/code/session_016ssmzwUQ8d87MLf9pMEHMB
Scope: 3318 files changed, 503841 insertions(+), 79972 deletions(-)
### Completion notification (1st attempt)
<task-notification>
<task-id>rlzbw5eh8</task-id>
<task-type>remote_agent</task-type>
<status>completed</status>
<summary>Remote review completed</summary>
</task-notification>
The remote review produced the following findings:
[]
### CLI output (2nd attempt, same prompt)
Free ultrareview 2 of 3.
Ultrareview launched for master (~5-10 min, runs in the cloud).
Track: https://claude.ai/code/session_01NP6kyMuTcngES2Yi6qsmdE
Scope: 3318 files changed, 503841 insertions(+), 79972 deletions(-)
### Completion notification (2nd attempt)
<task-notification>
<task-id>rm0rbsgah</task-id>
<task-type>remote_agent</task-type>
<status>completed</status>
<summary>Remote review completed</summary>
</task-notification>
The remote review produced the following findings:
[]
### Observations
- No error messages of any kind in either run.
- No warnings about scope size, token limits, or truncation.
- Both runs completed in what appeared to be a normal duration (not instant, not timed out).
- Status reported as `completed` — not `failed`, `error`, or `partial`.
- The `findings` payload is a literal empty JSON array (`[]`) with no accompanying metadata, reason field, or diagnostic info.
- No stderr output, no client-side exception, no hook failures.
- The remote session URLs (linked above) may contain server-side logs that aren't surfaced to the CLI — please check those sessions for any upstream errors.
Steps to Reproduce
Preconditions
- Claude Code CLI installed (tested on Opus 4.7, 1M context, macOS Darwin 25.1.0)
- A git repository with a feature branch containing a very large diff vs. the main branch
- Confirmed reproducing scope:
3318 files changed, +503,841 / -79,972 lines - At least 1 free
/ultrareviewcredit remaining
Steps
- Open a Claude Code session in the repository root:
``bash``
cd /path/to/repo
claude
- Confirm you are on the large-diff branch (not
master/main):
``bash``
git branch --show-current
git diff --stat master | tail -1
Expected: thousands of files / hundreds of thousands of lines changed.
- Invoke
/ultrareviewwith any review prompt, e.g.:
````
/ultrareview Review the entire project and identify any issues that would
cause user complaints after a global release. Produce a detailed md report.
- Observe the CLI launch message:
````
Free ultrareview N of 3.
Ultrareview launched for master (~5-10 min, runs in the cloud).
Track: https://claude.ai/code/session_<ID>
Scope: 3318 files changed, 503841 insertions(+), 79972 deletions(-)
Note: the free credit counter decrements here.
- Wait ~5–10 minutes for the
task-notificationto arrive.
- Observe the completion payload:
```
<task-notification>
<task-id>...</task-id>
<task-type>remote_agent</task-type>
<status>completed</status>
<summary>Remote review completed</summary>
</task-notification>
The remote review produced the following findings:
[]
```
- Repeat steps 3–6 with the same prompt on the same branch to confirm the bug is deterministic.
- In my case the 2nd run also returned
[]and consumed another free credit (1 of 3→2 of 3).
Actual Result
- Both runs report
status: completedwith an emptyfindings: []array. - Both runs consume a free credit.
- No error, warning, or diagnostic information is surfaced to the CLI.
Expected Result
Either non-empty findings, OR a clear error (status: failed with a message about scope limits), AND no credit consumption on empty/failed runs.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.112
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗