From Aryan Vatsa | Product & Market Analysis

Rate Limits as a Pricing Lever: 5 Tests for Honest Versus Hostile Design

On this page

Every AI subscription you buy has a ceiling. Almost none state where that rate limit sits in a unit you can count before you spend it. GitHub publishes a table where one model costs 57 premium requests and another costs 0.33, a spread of more than 170 times inside the same monthly allowance. Most vendors publish an adjective instead.

Key takeaways

  • Rate limits are not the problem. Undisclosed rate limits are. The OECD defines dark commercial patterns as choice architecture that impairs a buyer's decision-making. A cap you cannot count against before you spend meets that description.
  • GitHub publishes the best usage cap disclosure in this market. Its multiplier table prices every model in one unit, from 0.33 for Claude Haiku 4.5 to 57 for GPT-5.5, and its June 2026 billing change reached subscribers 35 days early.
  • Capacity can fall while the price stays the same. Anthropic's temporary 50% boost to Claude Code weekly limits expired on 19 August 2026. The subscription price did not move with it.
  • Grade vendors on 5 tests, not on tone. Countable unit, live meter, published marginal price, notice through a channel you already read, and a dated change log. Four vendors are scored below and one cannot be scored at all.

Short answer

Rate limits turn hostile at the point of disclosure, not at the point of restriction. A limit is honest when the buyer can count the unit, watch the meter, see the price of one more unit, get notice before a change lands, and read a dated history of past changes. Anything less is a cap you cannot budget for.

173xSpread between the cheapest and dearest model inside one GitHub Copilot premium request allowance. Source: GitHub Docs, 2026.
18 daysGap between Cursor's Pro plan change and the company's own explanation of it. Source: Cursor, July 2025.
Under 5%Share of subscribers Anthropic said its new weekly limits would affect when it announced them. Source: TechCrunch, 2025.

What a rate limit is actually doing to your bill

A rate limit does three jobs at once, and from outside the company you cannot tell which one is running.

The first is protection. A few users run agents continuously and share credentials, which degrades service for everyone else. The second is rationing. Inference is a variable cost paid per token, so an uncapped flat-rate plan is an open-ended liability. The third is conversion. A ceiling you keep hitting is the most effective upgrade prompt ever built into software.

All three are legitimate, and the mechanism is identical in each case. The same throttle that keeps a service alive at peak also moves a $20 subscriber onto a $200 plan. The vendor never has to say which outcome it was optimising for.

The unit is the whole argument

Ask what unit your limit is expressed in. The market answers with requests, credits, messages, tokens, active hours, and in several cases the word "generous". Only some of those are countable in advance.

GitHub prices Copilot usage in premium requests and publishes a multiplier for every model, so a buyer can cost a task before running it. Copilot Pro carries 300 premium requests a month at $10, with extra requests at $0.04. At that marginal price the included allowance is worth $12, which is more than the subscription costs. That arithmetic is only visible because the numbers are published. Where the unit is an adjective, the buyer has nothing to model. That is the same gap that makes AI line items hard to forecast even as headline token prices fall while bills keep rising.

The same allowance buys 5 requests or 909, depending on the model Bars are the published GitHub Copilot model multiplier. Right column is requests funded by a 300-unit Pro allowance. From 300 units GPT-5.5 57x5 Claude Opus 4.6 27x11 Claude Opus 4.5 15x20 Gemini 3.5 Flash 14x21 Claude Sonnet 4.6 9x33 Claude Sonnet 4.5 6x50 GPT-5.1 3x100 Claude Haiku 4.5 0.…909 Multipliers apply to legacy request-based billing. Source: GitHub Docs, read 20 August 2026.
Watch the model choice, not the plan choice. Picking the top model on this list spends a month's allowance in five interactions.

The line between honest and hostile design is disclosure

I do not think rate limits are a dark pattern. I think undisclosed rate limits are, and the distinction is sharper than the debate usually allows.

The OECD definition, applied to a pricing page

The OECD's 2022 digital economy paper defines dark commercial patterns as practices using digital choice architecture that subvert or impair consumer decision-making. It lists hidden information among the patterns found most often on commercial sites.

A pricing page is choice architecture. If the buyer cannot establish what they are buying in a countable unit, the interface has impaired their decision. That test needs no proof of intent, which is why it works.

"Fair use" is the weakest phrase in software pricing. It carries no number, no window and no appeal, and it reserves the ceiling to the vendor while implying a shared standard exists. A fair use policy that states a figure is a limit. One that does not is a placeholder for a decision the vendor would rather not publish.

A 5-test transparency standard for AI rate limits

Here is the standard. It is short on purpose, because a procurement test nobody runs is worse than none. Each item is answerable from public pages in under fifteen minutes per vendor.

The rate limit disclosure standard
TestWhat a pass looks likeWhat a fail looks like
1. Countable unitAn absolute number, plus the cost of every model in that unitRelative multiples of another tier, or the word "generous"
2. Live meterRemaining allowance visible in the product before it runs outYou discover the limit by hitting it, or by reading an invoice
3. Published marginal priceThe price of one unit past the cap, at list ratesNo published overage price, or a penalty rate above list
4. Advance noticeEmail or in-product notice with a stated effective dateA support article, a social post, or nothing
5. Dated change logA public record of every limit change with datesCurrent numbers only, with no history to compare against

Test 1: the unit must be countable before you spend it

The buyer needs an absolute figure and a conversion rate. "3x Pro limits" is not a figure when Pro's limit is undisclosed, because a multiple of an unknown is still an unknown. The strongest version publishes a per-model cost, since model choice now drives consumption more than anything else.

Test 2: the meter must be visible before the cap, not after

A dashboard that reconciles last month is an accounting record. A meter is a control. The difference is whether a team can change its behaviour inside the billing period, which is the only period in which behaviour can still be changed.

Test 3: the marginal price must be published

Everything past the cap should carry a stated price at list rates. Two failure modes matter. Silence forces the buyer to treat overage as unbounded. A penalty rate set above the vendor's own API price converts a capacity mechanism into a fine.

Test 4: notice must arrive through a channel you already read

Email and in-product notification count. A support-centre update and a social post do not, because they assume the buyer is watching a page they have no reason to check. Thirty days is the shortest notice I would accept on an annual contract, and it belongs in the order form rather than in vendor practice.

Test 5: the change log has to be dated and public

Current limits give you a snapshot. A dated history gives you a trend, and the trend decides whether a tool is safe to standardise a team on. This is the test the market fails most completely. No vendor examined here publishes a single dated log of limit changes in one place.

Four vendors, graded against the standard

Grades rest on vendor documentation and primary coverage read on 20 August 2026. Where a claim could not be verified against the vendor's own material, the cell is marked not verified rather than guessed.

The rate limit disclosure scorecard Five tests applied to public vendor documentation, read 20 August 2026 Countable Meter Marginal price Notice Change log GitHub Copilot PASS PASS PASS PASS PART Cursor FAIL PASS PASS FAIL PART Anthropic PART N/V PART PART FAIL OpenAI N/V N/V N/V N/V N/V Pass Partial Fail Not verified against vendor documentation Grades are judgements against published material, not measurements. The method is stated in the limitations section.
The grey row is a finding, not a gap. A vendor whose disclosure pages could not be retrieved is telling you something about how public that disclosure is.

GitHub Copilot is the clean pass, and it is not close. The multiplier table prices every model in one unit and plan allowances are absolute figures. The marginal price is stated at $0.04 per premium request on legacy billing, and at listed API rates for each model after the June 2026 move to credits. Administrators get a usage dashboard, a CSV export and budgets with a stop usage when budget limit is reached option, which is a control rather than a report.

It drops the fifth test on a technicality that still matters. Changes are dated across separate blog posts and docs pages, but no single log shows a buyer the direction of travel.

Cursor fails the unit test and passes the two nobody expected. Its pricing page describes plans as "Extended limits", "3x Pro limits" and "20x Pro limits", with no absolute number anywhere. The documentation calls included usage generous and gives a hard figure only as a floor of at least $20 of third-party model usage a month. The word "generous" has no place on a pricing page, and where a vendor uses it, assume the number is unflattering.

Yet Cursor passes tests 2 and 3 outright. Both usage pools are visible in editor settings and on a usage dashboard, and overage bills at the same API rates with no penalty multiplier.

Anthropic publishes a range, which beats most consumer AI plans and still falls short. With the weekly limits announced on 28 July 2025 it told subscribers what to expect in hours of model use. The $20 Pro plan carried 40 to 80 hours of Sonnet 4 weekly. The $100 Max plan carried 15 to 35 hours of Opus 4. A range spanning a factor of two is a bounded estimate, not a countable unit, so it earns a partial. Extra usage at standard API rates went to Max subscribers rather than Pro, so test 3 is partial too.

Notice was the strong part of that episode. The change reached subscribers by email and on a public account 31 days before it took effect. What followed in 2026 was weaker.

OpenAI is ungraded, deliberately. Secondary trackers report specific published caps for ChatGPT Plus, including message counts per rolling window. I could not open the vendor's own help pages to check any of it: help.openai.com returned HTTP 403 to automated retrieval on 20 August 2026. Under the rule this post argues for, an unverified figure does not get published, so the row stays grey. A disclosure page machines cannot read is not fully public, and in a year when most buyers research with an assistant, that is a commercial fact rather than a technicality.

Scores, and where the low scorer beats the high scorer
VendorScoreStrongest and weakest test
GitHub Copilot4.5 of 5Per-model unit cost published. No single dated change log.
Cursor3 of 5Overage at list rates. No absolute number for included usage.
Anthropic1.5 of 4 scored31 days of direct notice in 2025. Later changes went to a support page.
OpenAINot scoredVendor pages not retrievable for checking on the day of writing.
Where the low scorer winsCursor's overage policy is the most buyer-friendly here. It charges list API rates past the cap with no quality or speed downgrade. GitHub's higher score comes from disclosure, not generosity, and those are different things.

Scoring: pass 1, partial 0.5, fail 0, unverified excluded from the denominator. Anthropic is scored out of 4 because one test could not be verified.

The quiet tightening problem: same price, less capacity

The sharpest version of this issue is not a cap that exists. It is a cap that moves down.

In May 2026 Anthropic raised Claude Code weekly limits by 50% for Pro, Max, Team and Enterprise subscribers, described as a promotion rather than a permanent change. It was extended more than once and expired on 19 August 2026, with prices unchanged. The extensions went out through support-centre updates and social posts rather than the email channel used in 2025.

Nothing about that is deceptive. A promotion is allowed to end, and Anthropic said so at the outset. The problem is structural. When capacity is granted and withdrawn through a channel most subscribers never see, the buyer cannot distinguish a lapsed promotion from a silent reduction, and both feel identical inside the product.

That is why test 4 is written the way it is. The question is not whether the vendor communicated, but whether the message landed where the buyer was already looking. It also decides whether a team can reopen a renewal in time, which is the practical stake for anyone tracking commitments across an app estate that has outgrown the ability to audit it.

How much warning buyers got before the limit moved Days between the first direct notification and the day the change took effect Change takes effect GitHub Copilot 35 days Announced 27 Apr 2026, effective 1 Jun 2026 Anthropic 31 days Announced 28 Jul 2025, effective 28 Aug 2025 Cursor 18 days late Changed 16 Jun 2025, explained 4 Jul 2025 Bars left of the dashed line are notice. The bar right of it is an explanation that arrived after the charges did.
Study the Cursor bar. Refunds followed, which was the right response, and the design lesson is that the notice channel decides whether refunds are ever needed.

Cursor's own account is unusually direct. The company wrote that its pricing changes for individual plans were not communicated clearly, and that it takes full responsibility, and it refunded unexpected charges from 16 June to 4 July 2025. It also made a point that belongs in this standard. The company had called its included usage rate limits, then said that was not an intuitive description, because what it ran was a monthly usage credit pool. The label was wrong, and the label is what buyers plan against. Its growth through that period is covered in the piece on how fast Cursor reached its valuation.

Regulators are converging on the same test

Consumer law is arriving at versions of tests 1 and 4 from a different direction.

The European Commission is preparing a Digital Fairness Act aimed at dark patterns, addictive design and unfair personalisation. Its public consultation closed on 24 October 2025 and a proposal is due during 2026. The idea that matters for pricing is that manipulative interface design becomes a named unfair practice rather than something argued case by case.

The United States moved the other way. On 8 July 2025 the Eighth Circuit vacated the Federal Trade Commission's revised Negative Option Rule on procedural grounds. The Commission had skipped a preliminary analysis for a rule it found would cost more than $100 million a year. Enforcement under existing statute continues, and about 30 state jurisdictions impose comparable subscription requirements.

Here is the caveat, and it is large. Almost all of this is consumer protection law, and these tools are mostly sold to businesses under negotiated terms. A B2B buyer who wants these protections gets them from a contract, not a regulator. That is a reason to write the clauses yourself, not a reason to wait.

Where this argument is weakest

Three objections deserve a hearing, and one of them lands.

Full disclosure can produce meaner limits

A vendor publishing an exact number is committing to it in public and will set it conservatively. A vendor publishing nothing can run a quietly generous policy and flex it upward at will. The most transparent vendor in a category may also be the stingiest, and a buyer optimising for disclosure can end up with less usable capacity.

Published numbers also invite gaming. Once per-model costs are public, sophisticated users route around them and the blended margin shifts toward whoever reads documentation. That is a real cost of transparency. Why the ceilings exist at all is a question of what inference actually costs the vendors serving it.

A grade is a judgement, not a measurement

The scorecard has no weights, no second rater and no appeal. It rests on documents read on a single day, in a category where vendor pages change weekly. Six of twenty cells are unverified. A different reader could score Anthropic's hour ranges as a pass rather than a partial, and the ranking would hold while the numbers moved.

Treat the standard as the durable part and the scores as perishable. Re-run it yourself at renewal.

The third objection is the strongest. Inference capacity is lumpy and demand is spiky, so a vendor that cannot throttle at peak either overprovisions and prices that into every subscription, or degrades service for everyone at once. Anthropic's stated reason for the 2025 limits was users running the tool around the clock and sharing accounts, which is a genuine cost problem rather than a pretext. A limit that moves with capacity is defensible engineering. It turns hostile only when the buyer cannot see it move.

What to put in the contract

On an annual AI agreement the five tests convert into five clauses. I would not sign without the first three.

Define the unit and freeze the conversion table. Incorporate the vendor's published multiplier or credit table by reference as of a stated date, and treat changes to it as changes to price rather than product updates.

Require 30 days written notice by email for any cut to included usage, with a stated effective date, plus a termination right if the cut passes an agreed threshold mid-term. This clause turns a promotion ending into a decision you get to make.

Cap the marginal price at published list rates and set a monthly ceiling on metered charges. Ask for a hard stop rather than a soft alert, because an alert is a notification and a stop is a control.

Take an export right. Monthly usage data in machine-readable form, at user level. Without it you cannot reconstruct what happened when a bill surprises you, and the vendor's summary view is not evidence.

Ban silent model substitution. If the vendor routes you to a cheaper model at the ceiling, that must be visible in the product and must not consume allowance at the premium rate. Most buyers forget this clause, and it quietly decides what a plan is worth. The same question sits under every decision to build a coding agent instead of buying one.

None of this is exotic. It is the language buyers already use for uptime and support response, applied to the variable that now moves the bill most. Seat-based deals never needed it, which is part of why the shift away from per-seat pricing has caught procurement unprepared.

Frequently asked questions

Are AI rate limits a dark pattern?

Not by themselves. The OECD defines dark commercial patterns as choice architecture that impairs a buyer's decision-making, so the test is disclosure rather than restriction. A cap becomes a dark pattern when the buyer cannot count the unit, cannot see remaining usage, or learns about a reduction only after being charged. A clearly published cap with a stated overage price is ordinary pricing.

What is a fair use policy in AI software pricing?

A fair use policy is a clause reserving the vendor's right to restrict heavy usage on a plan advertised without hard limits. It usually carries no number, no measurement window and no appeal, which makes it unbudgetable. Treat any fair use language as an undisclosed ceiling, and ask the vendor for the actual figure and the measurement period in writing before you sign.

How many GitHub Copilot premium requests does one GPT-5.5 request use?

GitHub publishes a multiplier of 57 for GPT-5.5 on legacy request-based billing, against 0.33 for Claude Haiku 4.5. On a Copilot Pro plan with 300 premium requests a month, that funds about 5 GPT-5.5 requests or roughly 909 Haiku requests. Model choice, not plan choice, is the largest single driver of how fast an allowance is consumed.

Can a vendor reduce my AI usage limits without lowering the price?

Under most standard terms, yes. Anthropic's temporary 50% increase to Claude Code weekly limits expired on 19 August 2026 with no change in subscription price, which is a promotion ending rather than a reduction. The practical protection is contractual: a written notice period on any decrease in included usage, plus a termination right if the decrease passes an agreed threshold.

How much notice should an AI vendor give before changing usage limits?

Thirty days is the shortest defensible period on an annual agreement, delivered by email or in-product rather than through a support article. GitHub gave 35 days before its June 2026 billing change and Anthropic gave 31 days before its August 2025 weekly limits. Cursor's June 2025 change reached many users through their invoices, and refunds followed 18 days later.

Where to start this week

Take your two largest AI subscriptions and run the five tests against their public pages. Budget fifteen minutes each, and write the result in a shared document rather than a message, so it is in front of you at renewal instead of at the moment a bill surprises you.

Then do the harder thing that is worth more. Send one email to each vendor asking for the notice period on cuts to included usage, in writing. The answer, or the absence of one, will tell you more about the next twelve months of that line item than any pricing page will.

Use the standard

Five tests, one page: countable unit, live meter, published marginal price, notice through a channel you read, and a dated change log. Score your vendors before the renewal conversation, not during it.

References

  1. GitHub Docs, Model multipliers for annual plans, Requests in GitHub Copilot and Manage request allowances, all read 20 August 2026. Used for multipliers, plan allowances, the $0.04 marginal price and budget controls.
  2. The GitHub Blog, GitHub Copilot is moving to usage-based billing, 27 April 2026. Used for the notice period and the 1 June 2026 effective date.
  3. TechCrunch, Anthropic unveils new rate limits to curb Claude Code power users, 28 July 2025. Used for the weekly limit announcement, the hour ranges and the under 5% figure.
  4. Cursor, June 2025 pricing, July 2025. Used for the company's own account of the change, the rate limit label and the refund window.
  5. Cursor documentation, Account pricing, read 20 August 2026. Used for included usage wording, the usage dashboard and overage at list API rates.
  6. OECD, Dark commercial patterns, Digital Economy Papers No. 336, October 2022. Used for the definition and the frequency of hidden information patterns.
  7. European Parliament, Digital Fairness Act, Legislative Train Schedule, 2026. Used for scope, the consultation close date and expected timing.
  8. Sidley Austin, US FTC click-to-cancel rule struck down, July 2025. Used for the Eighth Circuit decision and the $100 million threshold.

Weakest thing about this source base: the OpenAI row could not be verified against vendor documentation, because help.openai.com returned HTTP 403 to automated retrieval on 20 August 2026. The Anthropic grades rest on press coverage of company statements rather than a vendor page opened directly. Limits in this category change within weeks, so re-check every figure before relying on it.

AV
Aryan Vatsa
Founding Member, Zan Digital. Writes about AI product economics, B2B software markets and what the numbers behind vendor claims actually say.

Related reading