Back to Blog
Business

Your AI Usage Reset Isn't Always Your Billing Date: Claude, Codex, Copilot and OpenCode

September 5, 2026
19 min read
Two overlapping clocks show different times as a coral wedge of value slips through the gap between their cycles

An AI coding subscription can now run on four clocks at once: a five-hour window, a weekly allowance, a monthly credit reset and the date your card is charged. Claude Pro and Max, Codex, GitHub Copilot, Cursor and OpenCode do not line those clocks up in the same way. Cancel with only a usage reset in mind and you can trigger a renewal you meant to avoid. Watch only the invoice and you can waste included capacity or let paid overflow take over. The fix is to identify which clocks your plan actually uses.

This is a new problem. Until 2026, most software subscriptions had one date that governed everything. Usage-based AI billing split that into entitlement and money clocks, then coding agents added short usage windows on top. GitHub Copilot picked the calendar month. Cursor picked your billing anniversary. Claude and Codex added five-hour and weekly limits. OpenCode Go combines five-hour, weekly and monthly caps, while OpenCode Zen is prepaid usage rather than an allowance at all. Figma remains the useful enterprise edge case: monthly AI credits with an annual cancellation window on larger plans.

Last reviewed: August 29, 2026. Every rule and price below comes from the vendor's own billing documentation or public pricing page, linked beside the claim it supports. Prices are list prices in USD, exclusive of tax. Nothing here is a refund guarantee: limits and billing terms for AI products change quickly, so confirm the next reset and renewal shown in your own account before you act.

The Clocks an AI Plan Runs On

A flat subscription has one clock. You pay on the 18th, you have access until the next 18th, and if you cancel on the 17th you owe nothing further. A credit plan adds a second clock that controls when your included usage refills, and nothing forces it to match the first.

GitHub is the clearest case, because its documentation says the divergence out loud. On the usage-based billing page for individuals, GitHub writes: "Included AI credits do not carry over between months. Unused credits are forfeited, and your allowance resets to the full monthly amount at 00:00:00 UTC on the first day of each calendar month. This reset date is fixed and does not change based on your subscription billing date."

The same page then explains how the billing date is set: if you are not already billed by GitHub, "in most cases your billing cycle will start on the day you sign up for Copilot." So a developer who signed up on the 18th of any month has a permanent 17-day offset between the two clocks, and no way to close it.

Cursor took the opposite approach. Its billing documentation says the cycle "starts on the date you subscribe" and that "included usage resets with your billing cycle." A paid plan carries two included pools, one for Cursor's own models and one for third-party models, and both refill on that same cycle. One clock, no offset, no ambiguity.

Claude Pro and Max introduce two usage clocks that are unrelated to the invoice. The session allowance resets every five hours. A second, all-model weekly limit resets at a fixed day and time assigned to the account; Anthropic says that time does not move with when you start using Claude or when the subscription began. Claude on the web, desktop and mobile and interactive Claude Code work share the included allowance. The next weekly reset is visible under Settings → Usage.

Codex uses a similar shape. On ChatGPT plans, local messages and cloud chats share a five-hour window, and additional weekly limits may apply. Consumption varies with model, context, reasoning and task complexity, so ten small prompts and ten repository-wide agent runs are not ten equivalent units. OpenAI exposes the live position in the usage dashboard and through /status in the CLI. None of those reset times tells you when the ChatGPT subscription renews.

OpenCode needs one distinction before discussing limits. The OpenCode client is open source and can use an existing provider account. OpenCode Go is the optional $10 monthly subscription: it currently carries a $12 allowance per five hours, $30 per week and $60 per month, measured at model cost. OpenCode Zen is a separate pay-per-request balance with optional auto-reload. Go has three allowance clocks; Zen has a wallet and a spend control.

Figma sits between them. Seat credits "reset monthly" and "don't roll over," and the admin dashboard shows a countdown of "days until credits reset" rather than a fixed calendar date, because the reset tracks the plan's monthly usage period. The paid credit subscription layered on top has its own rules, and on the larger plans those rules include a window you can miss entirely.

Which Clock Each Vendor Uses

This is the record worth keeping. Every row comes from the billing documentation linked in the sources section at the end.

Plan When the allowance refills When you are charged Do the two align? Rollover
Copilot Pro / Pro+ / Max 00:00:00 UTC on the 1st of the calendar month Your signup anniversary each month Only if you signed up on the 1st None; unused credits forfeited
Copilot Business / Enterprise 00:00:00 UTC on the 1st, pooled at the billing entity Enterprise billing cycle Explicitly independent None; pool resets in full
Claude Pro / Max, including interactive Claude Code Every five hours, plus a fixed account-specific weekly reset Your subscription renewal date No; the weekly reset is explicitly independent Windows, not a banked balance
Codex on ChatGPT Plus / Pro / Business Shared five-hour window; additional weekly limits may apply Your ChatGPT plan renewal date No Included usage is not banked
OpenCode Go $12 per five hours, $30 per week and $60 per month Your $10 monthly subscription renewal Three usage caps sit over one billing cycle No published rollover
Figma seat credits (all plans) Start of each monthly usage period Plan billing date Yes; the admin dashboard shows days until reset None; cannot be shared or transferred
Figma AI credits subscription, Professional Monthly, with the subscription Monthly, even if the plan is annual Yes None
Figma AI credits subscription, Organization / Enterprise Monthly usage period Quarterly invoice, annual term No; credits are monthly, the term is annual None
Cursor Pro / Pro+ / Ultra With your billing cycle Your subscribe date each month Yes, by design None; unused pool does not accumulate
Cursor Teams Per paid seat, each cycle Team signup date Yes None

The pattern is worth naming. Cursor ties included usage to the billing cycle. GitHub pins it to the calendar month. Claude and Codex meter short and weekly windows independently of billing. OpenCode Go stacks three allowance windows, while Zen discards the subscription clock altogether and charges a balance. None is automatically a trap. Treating them as the same system is.

One September detail makes this concrete right now. GitHub gave existing Copilot Business and Enterprise customers a higher allowance for the first three months of usage-based billing, June 1 to September 1, 2026: 3,000 credits per user per month for Business and 7,000 for Enterprise, against standard amounts of 1,900 and 3,900. That promotional period has just ended, so September is the first month where the standard allowance and the offset billing date show up on the same invoice. GitHub also lists GPT-5.6 Sol at promotional pricing, 50% off standard rates, through September 3, 2026, which means the same volume of work costs more credits from the 4th onward.

Claude, Codex and OpenCode Use More Than a Monthly Reset

Claude Pro and Max: Anthropic's Pro and Max documentation defines a five-hour session allowance and a weekly all-model limit. The weekly day and time are assigned to the account and stay fixed independently of both activity and subscription start. Hitting either limit does not mean the subscription is due. It means you wait for that usage window, switch plans, or deliberately enable separately billed usage credits. Those paid usage credits can continue work at API rates and generally do not expire in most jurisdictions, so they must not be described as the same thing as the expiring included allowance.

There is one more Claude clock for developers using automation. Interactive Claude Code shares the Pro or Max limits above, but Anthropic's separate Agent SDK credit refreshes with the billing cycle. That programmatic change has enough billing detail to deserve its own guide, so we break it down in Claude's metered Agent SDK credit rather than mixing it into the interactive-plan table.

Codex: OpenAI's official Codex pricing and limits page says local messages and cloud chats share a five-hour window, while extra weekly limits may apply. Usage depends on the model and the work, and a cloud task can consume more allowance than a local message. Check the usage dashboard or /status; do not manufacture a reset date by adding five hours to the last prompt. If included usage runs out, Plus and Pro users can choose to purchase credits, use an API key at API rates, wait, or move to a smaller model. That is a spend decision, not a renewal.

OpenCode Go and Zen: the Go documentation publishes limits of $12 per five hours, $30 per week and $60 per month for a $10 monthly subscription. It does not promise that the weekly or monthly anchor matches the signup date, so the console is the source of truth. After the included limits, Go can fall back to a Zen balance if Use balance is enabled. Zen itself charges per request and can auto-reload when the balance drops below $5. A monthly workspace limit does not necessarily prevent the reload transaction, so the auto-reload toggle and amount belong beside the subscription in your audit.

The practical record now has three fields, not two: renewal date, next usage reset or windows, and what happens at zero. The third field is where surprise spend lives: stop, paid credits, API billing or an automatically reloaded balance.

When Your Credits Really Reset Where You Live

"The first day of each calendar month" is not a local statement. GitHub anchors it to 00:00:00 UTC, which for most of the Americas means the allowance appears during the evening of the last day of the previous month. If you have ever noticed your usage dashboard reset while it was still the 31st, this is why.

Where you are 00:00:00 UTC on the 1st, in local time (daylight time) Same moment after clocks go back
US Pacific 5:00 p.m. on the last day of the previous month 4:00 p.m. on the last day of the previous month
US Mountain 6:00 p.m. on the last day of the previous month 5:00 p.m. on the last day of the previous month
US Central 7:00 p.m. on the last day of the previous month 6:00 p.m. on the last day of the previous month
US Eastern 8:00 p.m. on the last day of the previous month 7:00 p.m. on the last day of the previous month
UK 1:00 a.m. on the 1st Midnight on the 1st

Two things follow. First, a heavy agent run started at 6:00 p.m. Eastern on the 31st is spending the old month's credits, and the same run started at 9:00 p.m. is spending the new month's. If you are trying to drain an allowance before it evaporates, that boundary is the one that matters, not midnight local.

Second, the offsets shift at different times on either side of the Atlantic this autumn. UK and EU clocks go back on Sunday, October 25, 2026; US clocks go back on Sunday, November 1, 2026. For that one week the usual five-hour gap between London and New York becomes four, and a team that coordinates credit-heavy work across both will find the reset moment an hour off from where they expect it.

What the Wrong Day Costs

The expensive mistake is not cancelling too early. On every plan reviewed here, cancellation takes effect at the end of the current billing cycle, so an early cancellation costs nothing beyond the access you were going to stop using anyway. GitHub's wording: "You can cancel your Copilot plan at any time. The cancellation will take effect at the end of your current billing cycle." Cursor's: "You keep access to your paid plan features until the end of your current billing period."

The expensive mistake is inferring the charge date from the reset date. Here is the failure in full, using an illustrative freelance developer rather than measured data.

She subscribed to Copilot Pro+ on 18 March, so she is charged $39 on the 18th of every month. Her credit allowance, 7,000 AI credits, appears on the 1st. In late September she finishes the contract that justified the plan. She remembers watching the dashboard refill on 1 September, concludes that her subscription renews on the 1st, and tells herself she has until the end of the month to cancel. She cancels on 25 September.

She was charged on 18 September. That cycle runs to 17 October, which she cannot undo, and cancellation takes effect at its end. So she has paid $39 for a month she intended to skip. On 1 October a fresh 7,000-credit batch is issued to an account she has stopped using; at GitHub's stated conversion of 1 AI credit to $0.01, that is $70 of model spend she paid for and will not touch, and it is forfeited on 1 November whether she uses it or not. Had she read the invoice date instead of the dashboard, the cancellation on 17 September would have cost her nothing extra.

Scale that to a team and the shape stays the same while the number changes. Here is one unintended cycle at list price, per plan. Copilot prices and credit totals are from GitHub's plan comparison, Cursor's from its pricing and plans page, and Figma's Full-seat prices from Figma's pricing page.

Plan One extra cycle Allowance included in that cycle Refund position after the charge
Copilot Pro $10 1,500 AI credits ($15 of model spend) None; cancellation applies at cycle end
Copilot Pro+ $39 7,000 AI credits ($70) None; cancellation applies at cycle end
Copilot Max $100 20,000 AI credits ($200) None; cancellation applies at cycle end
Copilot Business, 25 seats $475 ($19 per seat) 47,500 pooled credits Seat removals take effect at the start of the next cycle
Copilot Enterprise, 25 seats $975 ($39 per seat) 97,500 pooled credits Seat removals take effect at the start of the next cycle
Cursor Pro $20 Two usage pools, refilled with the cycle Refund reviewed only within 14 days and only with no usage
Cursor Ultra $200 Two usage pools, refilled with the cycle Refund reviewed only within 14 days and only with no usage
Figma Professional, Full seat $16 3,000 AI seat credits Credit-subscription changes apply on the next monthly billing date
Figma Enterprise, Full seat $90 4,250 AI seat credits Downgrade or cancel only in the 30-day renewal window

Cursor's refund page is worth reading before you assume a partial credit exists. It states that you may qualify for a refund on the most recent payment only if the charge was within the last 14 days and you have not used the subscription during that billing period, and separately that "Cursor does not issue prorated refunds when you downgrade an active subscription that already has usage during the current billing period." A single agent run on the day after renewal removes both options.

Figma is even more explicit that unused credits are not money. Its AI Credit Terms, effective March 11, 2026, state that credits "expire at the end of each month and do not rollover," that they "do not represent legal tender, currency, or stored value," and that if a customer is eligible for a refund on an AI Credits Subscription, "that refund or credit is solely based on the time remaining in the subscription term, and not on the number of unused Credits."

The Act-By Date Rule

Several clocks in, one decision out. The rule fits in four lines.

  1. Deadline = charge date. The last safe day to cancel or schedule a downgrade is the day before the next charge. Read it off the invoice, never off the usage dashboard.
  2. Work window = the provider's displayed reset. For a calendar allowance, plan before the expiry. For five-hour and weekly limits, read the next reset from the dashboard rather than deriving it from the invoice.
  3. Cost boundary = the overflow setting. Decide whether zero included usage should stop work or begin paid credits, API billing or an auto-reload.
  4. Act-by = deadline minus lead time. Subtract however long the cancellation actually takes on that platform, then add a working-day buffer. This is the date that goes in the tracker.

Applied to the developer above on 5 September: her deadline is 17 September, her use-it-by date is 30 September if she stays and 17 September if she leaves, and with a three-day buffer her act-by date is 14 September. One date to remember, derived from two she wrote down once.

The lead time is not a formality. Self-serve cancellations are instant, but a downgrade that has to route through an admin, a finance approval, or a vendor contact takes days that the calendar does not give you back. We worked through how much warning different cancellation paths actually need in the lead-time table for renewal reminders.

On a calendar-month reset, a burst of heavy work that straddles the 1st draws on two allowances; the same burst compressed inside one calendar month draws on one. A 7,000-credit Pro+ allowance covers a sprint run from 25 September to 8 October twice over compared with the same sprint run from 2 to 15 September. That is not a loophole, it is what a fixed reset date means.

Claude, Codex and OpenCode Go need a different tactic. Put the heaviest work just after the short-window reset shown in the account, but keep an eye on the separate weekly or monthly cap: a fresh five-hour window does not restore a weekly allowance. The invoice date does not predict those usage windows; it controls the next renewal and may also determine when access ends after cancellation.

On a billing-cycle reset, the calendar-month tactic also disappears. Cursor's pools refill on your anniversary, so there is no separate monthly boundary to straddle. The only lever is deciding whether the tier still matches the workload, which is the same question we walked through in the 2026 AI subscription audit.

Downgrades and Overflow Controls

Cancelling is the blunt instrument. On an AI plan, the better move may be a lower tier or simply disabling the mechanism that spends after the included limit. Allowance, price and overflow now move separately.

Upgrades are usually immediate. GitHub charges "only the price difference between your current plan and the new plan." Figma prorates an AI-credit upgrade for the rest of the cycle. Cursor applies an upgrade immediately, and Anthropic prorates a move from a lower Claude tier to a higher Max tier. The reverse direction is where timing and store-specific rules matter.

Downgrades are where the calendar bites:

  • Cursor schedules a downgrade rather than applying it: "you keep your current plan until the end of your billing period." There is no prorated credit for going down mid-cycle, so scheduling it the moment you decide costs nothing.
  • Figma Professional runs its AI credits subscription month to month even when the underlying plan is annual, and downgrades or cancellations "take effect on your next monthly billing date."
  • Figma Organization and Enterprise run the credit subscription as an annual commitment aligned to the contract, and downgrades or cancellations "can only be made during the 30-day renewal window before your plan's renewal date." Miss it and you are committed for another year. If the Organization plan sits under a custom order form, Figma warns you may only be able to change the subscription by signing a new one.
  • Copilot Business and Enterprise add licences to the pool immediately but do not shrink the pool when licences are removed mid-cycle; the reduction "is reflected at the start of the next billing cycle."
  • Claude Pro and Max can continue at API rates after an included limit only if usage credits are enabled and funded. Disable them or set a monthly spend limit if a reset should be a hard stop.
  • Codex offers purchased credits after included limits on eligible ChatGPT plans. The usage dashboard shows the remaining allowance; a smaller model or waiting for the next window avoids drawing from paid credits.
  • OpenCode Go can fall back to the Zen balance after a cap only when Use balance is enabled. Zen can also auto-reload independently, so check both switches.

Those last three controls are easy to miss because they do not cancel anything. They decide whether hitting a limit produces a pause or a second bill. For a heavy coding agent, that can matter more than squeezing one final day from the base subscription.

The 30-day window is the one that deserves a calendar entry on the day you sign, not the day you remember. It is the same structural problem as an annual plan whose renewal you only notice after it has processed, which we costed out in the annual subscription math trap. A window you can only enter once a year is not a reminder problem, it is a diary problem.

Before you downgrade, check whether a pause exists instead. For AI tooling the answer is almost always no; we verified which services in our database offer a genuine billing pause rather than a cancellation dressed up as one in the pause-versus-cancel audit.

Recording Renewal, Resets and Overflow

Most subscription trackers, ours included, are built around a single renewal date. AI billing broke that assumption. Keep the money clock in the renewal field, then write the usage windows and the paid-overflow rule beside it.

In SubBuddy that looks like this. The renewal date is the charge date from the invoice, never the dashboard refill. The notes field carries a compact rule such as "5-hour + fixed weekly reset; paid overflow off" or "credits reset 00:00 UTC on the 1st; billing on the 18th." The per-subscription reminder is an integer from 0 to 365 days before renewal, so set it to the real lead time. The cancellation URL holds the billing page so the alert does not turn into a hunt through settings.

SubBuddy has no bank connection and does not detect any of this automatically; you type in what the invoice says. For this problem that helps: what you need recorded is a rule from a documentation page, and no transaction feed contains it. A feed shows you the $39 on the 18th. It cannot tell you that the credits arrived on the 1st.

If the plan has a metered component on top of the flat fee, track the two halves as separate lines rather than one blended number: "Claude Max" and "Claude usage credits," or "OpenCode Go" and "Zen top-ups." That is the approach we set out when Anthropic moved programmatic Claude usage onto a separate metered credit pool in June, and it survives the next repricing better than a blended figure.

Finally, when a vendor announces a change to allowances or model rates, the date that matters is your next charge date, not the announcement date. That gap is the only room you get to decide, and we mapped what to do inside it in the grace window guide.

Sources and Scope

Every rule above comes from the vendor's own documentation, current as of the review date at the top of this post. Prices are list prices in USD and exclude tax. This post covers timing rules only; it does not compare which AI tool is better value, and it is not legal or refund advice.

Alex Coca

Alex Coca is the independent developer behind SubBuddy. He researches subscription billing, cancellation patterns, and recurring-spend workflows by building the product and reviewing real subscription audits from users and his own accounts.

Track the Renewal, Usage Windows and Overflow

Log the real charge date as the renewal, write every five-hour, weekly or monthly reset in the notes, and record whether paid credits or auto-reload can take over. One entry can hold all three controls.

Set Up My Renewal Dates

Related Articles