You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Extra usage widgets show permanent [Timeout] when account has no monthly limit set #413
For accounts that have extra usage enabled but no monthly limit configured (monthly_limit: null), both extra-usage widgets permanently render [Timeout] even though the usage API responds quickly and successfully.
Environment
ccstatusline 2.2.19 (npx, auto-update), macOS 15
Claude subscription with extra usage enabled, no monthly limit set
USAGE_WIDGET_REQUIREMENTS declares extra-usage-remaining as requiring extraUsageEnabled, extraUsageLimit, and extraUsageUsed (and extra-usage-utilization requires extraUsageUtilization). With monthly_limit: null the API never supplies extraUsageLimit/extraUsageUtilization, so hasRequiredUsageFields() fails on every fetch — including perfectly successful ones. The fetch loop treats the response as incomplete, re-fetches each cycle, and the widget falls through to getUsageErrorMessage(), displaying [Timeout] indefinitely.
That error string is doubly misleading: the network round-trip succeeded, and no amount of waiting/cache-clearing can ever resolve it — the field will simply never exist for this account configuration.
Note hasRequiredUsageField() already special-cases extraUsageEnabled === false to excuse the detail fields; the enabled === true && monthly_limit === null configuration (pay-as-you-go with no cap) just isn't accounted for.
Expected behavior
When the fetch succeeds but a widget's required field is absent from the response, render something honest (n/a, or nothing) instead of a network-error string, and treat the response as complete so it doesn't trigger continuous re-fetching.
Related: #414 (feature request: widget for used_credits — the only displayable extra-usage number for limit-less accounts), #415 (hardcoded $ vs the API's currency field).
changed the title [-]Extra usage widgets show permanent [Timeout] when no monthly limit is set; no widget for used_credits; currency hardcoded to $[/-][+]Extra usage widgets show permanent [Timeout] when account has no monthly limit set[/+]on Jun 4, 2026
Activity
[-]Extra usage widgets show permanent [Timeout] when no monthly limit is set; no widget for used_credits; currency hardcoded to $[/-][+]Extra usage widgets show permanent [Timeout] when account has no monthly limit set[/+]fix: permanent [Timeout] in extra usage widgets when no monthly limit…
fix: permanent [Timeout] in extra usage widgets when no monthly limit…