Account Rotation Rethink

Why Claude sessions keep dying on limits and "login expired," what the investigation actually found, and the decisions that make it stop.

2026-08-31 · status: Proposed — pending Fede's picks · three-agent investigation (14-day forensics, mechanism audit, official docs); nothing has been changed anywhere

The rotation almost never fails at switching — it fails because there is nothing left to switch to, and it can't tell. Eight Claude engines and ~263 sessions a day share one machine-wide login. The rotator has fresh usage numbers for only the account it's already on (the other eleven read "stale"), and the limits that actually killed sessions — the Opus weekly cap, "out of usage credits" — are ones it doesn't measure at all. Result: 1,860 of 1,862 rotation decisions in four days were "nowhere to go," a 31-minute morning outage where it logged "account unusable" 204 times without switching, and you typing /login by hand 13 times in 26 hours.

What the 14-day record shows

Decision made — Aug 31, late morning

Fede called it: return to the original, pre-pool setup. "I had no issues with that." Executed the same morning, after tracing the history:

What was done: Fede's six accounts removed from the shared pool (it now holds only Gera's six); zero claims remain on Fede's accounts; Fede's machine restored to the last pre-pool switcher, which freely keeps his own six logins fresh again — the original working behavior. The pool lives on for Gera's fleet, untouched.

Still open: Fede signs out other devices on claude.ai for his personal account (kills the copies on Gera's machines — until then they can still burn his weekly limit); Gera drops Fede's accounts from his machines; the exposed email key still needs scrubbing + rotation (R4).

The original decisions (R1–R3 overtaken by the rollback; kept for the record)

Answers save and are shared. Recommended option marked.

R1 · The cheap repairs (bundle)

Unblind the rotator (scheduled usage refresh for all accounts, so "no candidate" means it, not "can't see"); point the token rotator at the folder with the six fresh tokens; make "out of usage credits" / Opus-cap errors count as switch triggers even when the meter reads healthy; re-login the two dead accounts; fix the two policy leaks (manual-only never auto-picked; one lease per account actually enforced).

R2 · The structure: who runs on what

R3 · The six-account ring (your Aug 27 lock)

R4 · Hygiene found along the way

Item (2) is now answered: the MiniClaws lessee is Gera's Mac mini (verified via AWS audit logs — his admin credentials, his home network). So the remaining actions are: (1) scrub the plaintext SendGrid email key from the local session transcript and rotate the key; (2) agree with Gera which accounts his fleet may lease — today it leases Fede's personal account — and enforce one-lease-per-account for real.

Notes

Appendix — the record behind the claims

PropFlow Docs