# fix\(server\): hub Limits keep Claude accounts' bars when usage reads hit 429 · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/72eef0476b547caa7c77e562e3d3944a1b980718)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: 72eef0476b547caa7c77e562e3d3944a1b980718

Requested commit: 72eef0476b547caa7c77e562e3d3944a1b980718

Commit: 72eef0476b547caa7c77e562e3d3944a1b980718

Tree: 35d9ef7929f810a77efb027e11d7d5e49ff8f336

Author: Yannic Charlon

Committer: Yannic Charlon

## Message

```
fix(server): hub Limits keep Claude accounts' bars when usage reads hit 429

Every Limits visit, refresh, and settings change read every hub account's
usage through the hub, and Claude's /api/oauth/usage answers 429 after a
short burst. readAccount mapped any failure to "The hub could not read this
account's usage.", so the bars went blank.

Hub usage reads now go through makeThrottledReader, a keyed reader with
one pacing rule: each account is read at most once a minute, each failed
read in a row doubles the wait up to eight minutes, and a failed read keeps
the last good reading for up to fifteen minutes. Redeeming a reset forgets
the account so the re-read after it asks the provider again. With nothing
to show after a 429, the account says the provider is rate limiting instead
of a generic failure.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

```

## Parents

- [339179f50a84dc599cce373dbb48f172f182f44e](https://git.cafe/pingdotgg/t3code/commit/339179f50a84dc599cce373dbb48f172f182f44e?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/72eef0476b547caa7c77e562e3d3944a1b980718?format=markdown)
