Repository navigation
Description
Description
Edited 2026-09-23: an earlier version of this issue treated the month meter's
$42.9986as real spend and reported ~$39 unaccounted / a suspected metering anomaly. That interpretation was wrong — the meter does not hold dollars (see section 2). What remains are two concrete bugs: missing usage records and a misleading meter unit. Amounts themselves reconcile; no billing anomaly.
1) Usage records are missing for the first ~2.7 days of the subscription
- Subscription access
startsAt 2026-09-19T05:36:06Z, but usage records only start2026-09-21T23:16:54Z(Legacy migration cutover). export?scope=range&range=all|30d|since,usage/summary,usage/modelsandusage/cost-by-dayall return the same 445 rows summing$4.04109178; 9/19 and 9/20 have zero rows under every range.- The meter does count that window: month meter = 71.664% of base, while the records themselves only account for
Σ(usage_i/limit_i)= 18.24% (glm-5.3 $2.3015/$15 + ds-v4.1-flash $1.1314/$60 + glm-5.3-flash $0.6081/$60 + ds-v4-flash ≈ 0). So ~53pp of metered usage has no queryable record. - Corroboration: local client ledgers (OpenCode session messages + Hermes
session_model_usage, byte-identical to the pre-update snapshot — no pruning) show single-digit dollars of real spend in2026-09-19T05:36Z → 2026-09-21T23:16:54Zat officialopencode-goprices. Those rows exist locally but not in any usage endpoint.
2) go/status usedMicroCents is base × Σ(usage_i / limit_i), not real dollars
- week:
usedMicroCents=3000000000 / 3000000000= exactly$30.0000000, while real spend in that window is single-digit dollars. A dollar-sum meter essentially cannot emit a perfectly round$30.0000000; it fits$30 × min(Σ%, 1)(clamped at the limit). - month:
4299858681 / 6000000000= 71.664% matches the console's 72% and equals the same percentage-sum computed from my local ledger:8.234/15 + 3.629/60 + 1.007/15 + 0.7246/60= 68.9% (±3pp from window/estimate differences). Real month spend is $13.59, consistent with what I actually used (~≤ $15). - So the amounts reconcile — no billing anomaly, and I withdraw the earlier ~$39 claim. But a
microCents-denominated field that actually holdsbase × Σ%reads as currency (I initially read it as $43 of spend). Suggest documenting or renaming the unit, or exposing the percentage directly as the console does.
Context on the weekly lock: the pool locks when the percentage-sum across models reaches 100% of their per-model weekly limits (glm-5.3 alone was at ~91%), blocking all Go models with Go usage limit exceeded until 2026-09-28T00:00Z. That behavior appears intended — I am not disputing the lock, only the exactly-$30 dollar display that made it look like $30 of real spend.
Why it isn't a pricing-table issue:
- Recorded-era amounts match
opencode-goprices on models.dev to 1e-7 (e.g. glm-5.3-flash: 2,354,002×$0.15 + 98,198×$0.5 + 6,863,616×$0.03 = $0.60810778 exactly; glm-5.3 and ds-v4.1-flash incl. peak are equally exact). - Retail vs Go prices are nearly identical (only ds-v4.1-flash differs at 2x).
- No second account/credential (account tables empty, single key), no service/search fees (
services=[]in records), single local database. request-logsreturns 403 Forbidden for the service key (all Bearer variants), so pre-cutover requests cannot be self-serve checked — hence this report.
Request:
- Backfill the missing usage records for
2026-09-19T05:36Z → 2026-09-21T23:16:54Z, or document why that window is intentionally not queryable. - Document/rename the
usedMicroCentssemantics (base × Σ(model usage / model limit)), since the value is not currency.
Plugins: none
OpenCode version: 2.0.12
Steps to reproduce:
- Subscribe to Go (access
startsAt 2026-09-19T05:36:06Z), use normally for ~2 days. GET /console/api/go/status→ monthusedMicroCents=4299858681, week3000000000/3000000000(exactly at limit).GET /console/api/usage/export?scope=range&range=30dwithAccept: text/csv→ 445 rows summing $4.04109178, earliest timestamp2026-09-21T23:16:54Z;range=all,usage/summaryandusage/cost-by-dayreturn the same window only (starts at the cutover).- Compare: the meter's percentage-sum covers 9/19 → now, while no endpoint returns any record before 9/21 23:16Z;
usedMicroCentsmatchesbase × Σ(usage_i/limit_i)rather than any dollar sum.
Screenshot and/or share link: console shows the same 72% / 100%; no share link (billing data)
Operating System: Windows 11 (10.0.26200.9457)
Terminal: OpenCode desktop app (TERM_PROGRAM not set)
Account: subscriber acc_01M2W22ED49X4JB3CM1EHR9MAV (email/API key intentionally omitted; available through a private channel if needed).
Activity
[-]go: month meter $42.99 vs $4.04 in usage records — $38.96 unaccounted before 2026-09-21[/-][+]usage records missing 2026-09-19 -> 2026-09-21 23:16Z although metered; go/status usedMicroCents = base x Sigma(model usage/limit), not real dollars[/+]feat(opencode): add usage-API mode for OpenCode Go quota tracking
feat(opencode): add usage-API mode for OpenCode Go quota tracking (#136)
neriousy commentedon Oct 21, 2026
Thanks for reporting this. Those days fall in the window when we moved to the new console, and usage records from that period have most likely been backfilled since.
Please email help@anoma.ly with your workspace ID and a link to this issue and the team will sort it out. Billing, payment and account problems need to be looked at against your account, which we can't do on a public issue tracker. Closing this because there's been no activity for a while, and it may already be resolved. If you still need help, email help@anoma.ly or comment here and we'll reopen it.