Token Plan Plus yearly upgrade: total_count and usage_count both return 0 for general model — quota appears unprovisioned
Summary
After upgrading from Starter yearly ($100/yr) to Plus yearly ($200/yr) on 2 Jun 2026, /v1/token_plan/remains reports current_interval_total_count: 0, current_interval_usage_count: 0, current_weekly_total_count: 0, and current_weekly_usage_count: 0 for the general model — even after actively using the API.
The dashboard shows Plus yearly as my active subscription. The API response suggests the Plus quota pool was never provisioned to the account, and active consumption is not being recorded.
This is a separate symptom from #47 (passive remains_time drain). Both are present on the same account, and it is unclear from the API alone whether one is causing the other.
Environment
| Field |
Value |
| Plan |
Token Plan Plus yearly ($200/yr) — upgraded from Starter yearly ($100/yr) on 2 Jun 2026 |
| Model |
general (Claude Code CLI via Anthropic-compatible endpoint) |
| Subscription Key |
confirmed working for /v1/chat/completions |
| Probe date |
4 Jun 2026 |
Steps to reproduce
- Subscribe to Plus yearly (or upgrade from Starter yearly to Plus yearly mid-cycle).
- Confirm on the dashboard that Plus yearly is the active subscription.
- Make a few
chat/completions calls using the Subscription Key.
- Call
/v1/token_plan/remains and inspect model_remains[*].current_interval_total_count, current_interval_usage_count, current_weekly_total_count, current_weekly_usage_count.
Expected behavior
For a Plus yearly subscriber, on the general model:
current_interval_total_count should be a non-zero number representing the 5-hour quota budget.
current_interval_usage_count should equal the tokens consumed in the current 5-hour window and increase as calls are made.
current_weekly_total_count and current_weekly_usage_count should mirror the same accounting at the weekly window level.
Actual behavior
Across two probe runs taken 30 seconds apart, with active LLM usage in between the runs (zero usage during the 30s sleep), every relevant counter is 0:
"model_name": "general",
"current_interval_total_count": 0,
"current_interval_usage_count": 0,
"current_weekly_total_count": 0,
"current_weekly_usage_count": 0,
"current_interval_remaining_percent": 13,
"current_weekly_remaining_percent": 100
current_interval_usage_count did not move from 0 to any positive value after I used the API, so the system is either not recording consumption on the general model or it is reading from a different counter for billing/dashboard purposes.
Raw evidence
Probe run A (no usage in either 30s window):
--- snapshot 1 ---
remains_time: 4,886,524
current_interval_total_count: 0
current_interval_usage_count: 0
current_weekly_total_count: 0
current_weekly_usage_count: 0
--- snapshot 2 (30s later, zero calls) ---
remains_time: 4,856,204
current_interval_total_count: 0
current_interval_usage_count: 0
current_weekly_total_count: 0
current_weekly_usage_count: 0
delta: -30,320 ms in 30 s with usage_count flat at 0
Probe run B (after some real LLM usage between the two snapshots, then 30s of no usage):
--- snapshot 1 ---
remains_time: 4,355,685
current_interval_total_count: 0
current_interval_usage_count: 0 <-- still 0 even though I used the API
--- snapshot 2 (30s later, zero calls) ---
remains_time: 4,325,211
current_interval_usage_count: 0 <-- still 0
delta: -30,474 ms in 30 s with usage_count flat at 0
Both probe runs are reproduced on the same Subscription Key, with the same Key used for active chat/completions calls between the runs.
Related issues
Impact
- Plus yearly subscribers who upgrade mid-cycle may be silently running on a zero-quota bucket, while the dashboard reports the upgrade as successful.
- The "remaining percent" shown in the console is a derived value off
remains_time and does not reflect either entitlement or consumption, so the UI cannot be used to detect this state.
- Because usage is not being recorded on
general, any subsequent billing reconciliation or refund calculation will under-count what was actually consumed.
Request
- Confirm whether
total_count: 0 for an active Plus subscription is expected (e.g. entitlement fetched lazily on first call) or a bug.
- If a bug, please re-provision the Plus quota on the
general model and confirm total_count becomes non-zero and usage_count tracks real consumption.
- Add a per-call audit trail to
/v1/token_plan/remains (or a sibling endpoint) so this class of "quota not provisioned / usage not recorded" failure is detectable from outside.
Token Plan Plus yearly upgrade:
total_countandusage_countboth return 0 forgeneralmodel — quota appears unprovisionedSummary
After upgrading from Starter yearly ($100/yr) to Plus yearly ($200/yr) on 2 Jun 2026,
/v1/token_plan/remainsreportscurrent_interval_total_count: 0,current_interval_usage_count: 0,current_weekly_total_count: 0, andcurrent_weekly_usage_count: 0for thegeneralmodel — even after actively using the API.The dashboard shows Plus yearly as my active subscription. The API response suggests the Plus quota pool was never provisioned to the account, and active consumption is not being recorded.
This is a separate symptom from #47 (passive
remains_timedrain). Both are present on the same account, and it is unclear from the API alone whether one is causing the other.Environment
general(Claude Code CLI via Anthropic-compatible endpoint)/v1/chat/completionsSteps to reproduce
chat/completionscalls using the Subscription Key./v1/token_plan/remainsand inspectmodel_remains[*].current_interval_total_count,current_interval_usage_count,current_weekly_total_count,current_weekly_usage_count.Expected behavior
For a Plus yearly subscriber, on the
generalmodel:current_interval_total_countshould be a non-zero number representing the 5-hour quota budget.current_interval_usage_countshould equal the tokens consumed in the current 5-hour window and increase as calls are made.current_weekly_total_countandcurrent_weekly_usage_countshould mirror the same accounting at the weekly window level.Actual behavior
Across two probe runs taken 30 seconds apart, with active LLM usage in between the runs (zero usage during the 30s sleep), every relevant counter is 0:
current_interval_usage_countdid not move from 0 to any positive value after I used the API, so the system is either not recording consumption on thegeneralmodel or it is reading from a different counter for billing/dashboard purposes.Raw evidence
Probe run A (no usage in either 30s window):
Probe run B (after some real LLM usage between the two snapshots, then 30s of no usage):
Both probe runs are reproduced on the same Subscription Key, with the same Key used for active
chat/completionscalls between the runs.Related issues
remains_timepassive drain on Plus (same plan tier, same general model). This issue is present on the same account and likely co-occurs.0/0 usedand a 2056 reset timestamp — looks like a different instance of the same accounting subsystem behaving incorrectly.Impact
remains_timeand does not reflect either entitlement or consumption, so the UI cannot be used to detect this state.general, any subsequent billing reconciliation or refund calculation will under-count what was actually consumed.Request
total_count: 0for an active Plus subscription is expected (e.g. entitlement fetched lazily on first call) or a bug.generalmodel and confirmtotal_countbecomes non-zero andusage_counttracks real consumption./v1/token_plan/remains(or a sibling endpoint) so this class of "quota not provisioned / usage not recorded" failure is detectable from outside.