[BUG]/ultrareview consumes free quota when remote session fails (timeout)
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?
What happened
Ran /ultrareview on master (7 files, 8024 insertions / 3081 deletions). The remote session exceeded the 30-minute cap and returned no output:
> Remote review failed: remote session exceeded 30 minutes
When I went to retry, the prompt showed "Free ultrareview 2 of 3" — the failed run had consumed one of my three free uses despite producing no review output.
## Expected
Failed remote sessions (timeouts, infrastructure errors, no output produced) should not count against the free quota. Quota should only decrement on successful completion.
## Actual
Quota decremented from 3 → 2 on a run that returned no findings.
## Repro
- Run
/ultrareviewon a branch large enough to trigger the 30-minute timeout - Wait for the failure notification
- Re-invoke
/ultrareview— counter shows "2 of 3" instead of "1 of 3"
## Environment
- Claude Code CLI on Windows 11
- Branch: master, scope: 7 files changed, 8024+/3081-
- Failed session: session_01At4ncgihLyqaUh5YntF4pw
## Suggested fix
Refund quota automatically when the remote session terminates without producing review output (timeout, crash, cancel-before-start). Alternatively, surface a clear "this run will not count" message before the user re-invokes.
What Should Happen?
not be charged for failed sessions
Error Messages/Logs
Steps to Reproduce
<img width="2222" height="1070" alt="Image" src="https://github.com/user-attachments/assets/9d644a6e-c0c4-4477-953c-b930f2e7d9d8" />
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.119 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗