anthropics / anthropics/claude-code

Status line rate_limits should include the model-specific weekly window shown in /usage

Aperta
#91,920 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
area:statusline enhancement
Lingua principale
Python
Stelle
145k
Fork
23.1k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

**Summary**

The status line JSON exposes `rate_limits.five_hour` and `rate_limits.seven_day` (and `spend_limit`
behind a gateway). `/usage` additionally shows a third bar, "Current week ()", for the
model-specific weekly limit. That window is not available to status line scripts, so external
dashboards built on the documented status line contract cannot show it.

**Observed (Claude Code 2.1.252, claude.ai Team plan)**

`/usage` shows three bars: 5-hour 21 %, weekly all models 23 %, weekly Fable 42 %.
The status line JSON for the same session carries only:

```json
"rate_limits": {
"five_hour": { "used_percentage": 20, "resets_at": 1788483600 },
"seven_day": { "used_percentage": 22, "resets_at": 1788624000 }
}
```

**Expected**

A third entry for the model-scoped window, in the same shape, for example:

```json
"seven_day_model": { "model": "Fable", "used_percentage": 42, "resets_at": 1788624000 }
```

or one entry per scoped model (`seven_day_opus`, `seven_day_sonnet`, …), matching the labels the CLI
already uses ("Opus limit", "Sonnet limit", "Fable limit").

**Why it matters**

The status line is the one documented, first-party way to observe plan usage from outside Claude Code.
Tools that respect that contract can show session and all-models usage, but the model-specific window
is often the one that runs out first, so it is the one users most want to see. Without it, tool authors
are pushed towards undocumented endpoints.

**Notes**

- The CLI's internal rate-limit state already parses the scoped window (`seven_day_overage_included` in
the usage response, labelled "Fable limit"); the status line builder simply does not include it.
- Behaviour when the window is absent (plans without a scoped limit) could mirror the existing rule:
omit the key.
- Related: the `/usage` panel fetches `/api/oauth/usage`, which includes the scoped windows; a
documented read-only endpoint for subscription usage would serve the same need more broadly.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Locate the status line builder and the internal rate-limit state that parses seven_day_overage_included from the usage response. Compare that data with the existing five_hour and seven_day status line entries, then verify the JSON exposes the model-scoped window when present and omits it when absent, matching the /usage labels and percentages.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
api, cli
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
68/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.