v0.3.3
cux v0.3.3 — exhaustion path never strands an unattended session
When every account is exhausted and wait_for_reset is on, cux now rides out the whole outage and resumes automatically when a reset window rolls over — instead of waiting a few short intervals and then exiting. Thanks @centrual (#35).
wait-for-resetnever gives up. The reset clocks are known, so the first sleep spans the entire outage (plus slack for clock skew); a wake-up that still reads exhausted recomputes from fresh data, and a round with no published reset clock re-checks on the poll cadence. The only hard exit left is provable futility — every pooled account's token has expired (cux addrequired); no amount of waiting fixes revoked credentials.- Recognizes Claude Code's unworded usage-cap wordings. Messages like "You've hit your limit · resets 7pm" and "Weekly limit reached" are now classified as rate limits, so they take the swap / sleep-until-reset path instead of an endless fixed-backoff retry loop.
- Hard-limited API failures are diverted off the retry loop. On a retry-only failure, cux refreshes usage first; if the live account is actually at a hard cap, it promotes to the rate-limit path (swap if anything's usable, else wait-for-reset) rather than relaunching against a closed window.
Full Changelog: v0.3.2...v0.3.3