[BUG] /ultrareview consumes free quota even when remote session times out (30min)
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?
Body:
## Summary
A /ultrareview invocation that fails due to "remote session
exceeded 30 minutes"
appears to still count against the 3-free-uses-per-month quota.
## Steps to reproduce
- Run
/ultrareview <base>on a small repo (9 files / ~1300
lines in my case)
- UI shows: "Free ultrareview 1 of 3" (confirming this was my
first use this period)
- After ~30+ minutes, task notification arrives:
"Remote review failed: remote session exceeded 30 minutes"
- No review output is produced
- Retry the same
/ultrareviewcommand → hit a usage limit
message
## Important context
- I have NOT run
/ultrareviewin any other session this period.
The first attempt today was genuinely my first use, as the "1
of 3" display confirmed.
- Therefore at most 1 free slot should have been consumed (and
arguably zero, since
it was a server-side timeout, not a user action).
## Expected behavior
Failed runs (especially server-side timeouts that the user has no
control over)
should NOT consume the free quota. Or, the CLI should warn the
user before
re-trying that the quota may be consumed on failure.
## Actual behavior
- No review output delivered
- Quota appears consumed (no refund / no retry credit)
- No proactive warning before retry that quota would be consumed
on timeout
- Note: the limit message I hit on retry mentioned "/upgrade",
which suggests
this may be the general plan usage limit rather than the
ultrareview-specific
3-free-uses quota. Please clarify which limit was triggered,
since this affects
whether the timeout itself is the root cause.
## Environment
- Claude Code on Windows 11
- Plan: Pro
- Dates: 2026-04-28 (first attempt timeout) / 2026-04-29 (retry
hit limit) JST
## Suggested fix
- Refund quota on remote-side timeouts (failure code !=
user-cancel)
- Or surface a confirmation prompt: "Previous run timed out —
retrying will
consume another free slot. Continue?"
- Distinguish clearly in the failure message whether the
ultrareview-specific
quota OR the general plan quota was exhausted
What Should Happen?
Failed runs (especially server-side timeouts that the user has no
control over)
should NOT consume the free quota. Or, the CLI should warn the
user before
re-trying that the quota may be consumed on failure.
Error Messages/Logs
Steps to Reproduce
- Run
/ultrareview <base>on a small repo (9 files / ~1300
lines in my case)
- UI shows: "Free ultrareview 1 of 3" (confirming this was my
first use this period)
- After ~30+ minutes, task notification arrives:
"Remote review failed: remote session exceeded 30 minutes"
- No review output is produced
- Retry the same
/ultrareviewcommand → hit a usage limit
message
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
Claude Code Version: 2.1.122
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
③ Additional context
- I have NOT run /ultrareview in any other session this period.
The first attempt today was genuinely my first use, as the "1
of 3" display confirmed.
- Therefore at most 1 free slot should have been consumed (and
arguably zero,
since it was a server-side timeout, not a user action).
- Dates: 2026-04-28 (first attempt timeout) / 2026-04-29 (retry
hit limit) JST
Suggested fix:
- Refund quota on remote-side timeouts (failure code !=
user-cancel)
- Or surface a confirmation prompt before retry: "Previous run
timed out —
retrying will consume another free slot. Continue?"
- Distinguish clearly in the failure message whether the
ultrareview-specific
quota OR the general plan quota was exhausted
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗