pitboard watch pick an account by the same rules, and give each reason in the same words. The app shows it in a notification and under the share in Settings. pitboard watch prints it in its lines, and with --json gives the code in reason.
Which account it switches to
Pitboard watches every limit of the account in use, a model’s weekly limit included. A limit counts at the whole percentage Pitboard shows, so 94.5% reaches 95%. Once a limit reaches the share, Pitboard looks for another enrolled Claude Code account that:- Has a parked login that has not expired.
- Has a reading from Anthropic.
- Has used less than the share of every limit it has.
- An account without a weekly limit for all models goes first, such as a Team seat. What it leaves unused is lost at each five-hour reset.
- Then the most room in the limit at the share. An account without that limit counts as having used none of it.
- On a tie, the account least full in its other limits.
When it stays on the account
Once a limit of the account in use reaches the share, Pitboard stays on the account while one of these holds.pitboard log records auto-stay with the code, once for each limit and its reset.
Where Anthropic has given no reading of an account that could qualify,
no_room ends , and there is no reading of personal from Anthropic yet.
settling counts from the switch, sign-in or enrolment that put the account in use.
In JSON, no_room is an event of its own. The other codes are the reason of a skipped event.
When it decides nothing
While one of these holds, Pitboard does not decide whether to switch.When a try fails
Pitboard records each try inautoswitch.json before anything moves, so a try stopped partway still counts. The next try waits 1 minute, and each failure in a row doubles the wait, up to 15 minutes. A failure that may pass, such as Anthropic out of reach, does not count toward attempts_spent.