anthropics / anthropics/claude-code

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

Ouverte
#91,920 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
area:statusline enhancement
Langage dominant
Python
Étoiles
145k
Forks
23.1k
Métriques de merge des PR
Métriques de PR en attente

Description

**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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
api, cli
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
68/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.