Why typed doesn't use 5-hour windows like the leading Pro plan
-- Jeff Yaw
Last updated
Update, 23 September 2026: the economy tier is now spelled typed (it was typed--), the free tier that runs on your machine is typed-local (it was typed), and with a paid account the CLI defaults to typed.
You've probably hit it on the leading Pro or Max plan: you're in flow on a Sunday afternoon, the model goes quiet, and a banner tells you to wait 47 minutes for your usage window to reset. Then it resets, you finish the thing, and four hours later you hit a Tuesday-morning weekly cap you didn't know existed.
This is the rolling-window model. The leading Pro and Max plans, and most major AI coding subscriptions, use some flavor of it. typed doesn't.
First, the shortest version of the answer: the free tier never hits a window, a quota, or a login, because it doesn't run on our servers at all. typed-local (the default without a paid plan) sends inference to a model server on your own machine -- typed is out of the request path entirely, which is why it costs nothing.
curl -fsSL https://app.typed.cloud/install.sh | bash
typed local # sizes a known-good model for this machine, prints the command to start it
typed # start coding
No account, no key, no meter. The rest of this post is about the two paid hosted tiers, typed++ and typed, which do run on typed's servers, do carry a monthly quota, and are the only thing an api key is for.
What the rolling windows are actually for
Rolling windows are a load-shaping tool, not a billing model. They let a vendor like Anthropic say "here's a quota" without committing to a real cap, so the bursty user who codes hard from 9pm to 1am hits a wall at 11:30 and goes to bed, spreading load away from peak hours.
That's a reasonable thing for a vendor to want. It just isn't a thing your work cares about. The window doesn't reset because you finished a task; it resets because the clock crossed a five-hour boundary. The two are unrelated, and the boundary is invisible until you slam into it.
What happens when you hit your typed quota
This section is about the paid hosted tiers. The free local tier has no quota to hit -- it runs on your machine, so there is nothing to meter and nothing to reset.
Monthly quota. One reset date. The dashboard shows remaining quota; the meter only goes down when you actually use tokens.
When you hit 100% of monthly quota, one of two things happens:
- Default behavior: the next request returns a 429 with a one-click top-up prompt. You pick a denomination ($5, $10, $20, or $50), confirm, and you're back in. Top-ups expire 90 days after purchase, and they're consumed before your included volume resets, so you don't lose unused balance on the reset.
- Auto-top-up (opt-in): if you've enabled it in the dashboard, typed silently charges your chosen denomination, emails you a receipt, and the session continues uninterrupted. You can set a monthly ceiling so it can't run away.
There's no throttle. No "we'll degrade your tier for the next four hours." No 5-hour window. No weekly cap behind the monthly one. When your meter reads 73%, you have 27% left until reset, and that's the whole story. And if you'd rather not spend the rest, name the free tier instead: typed --model typed-local (or typed use typed-local) runs on your own machine and costs nothing.
What hitting the cap actually looks like
Concretely, on a paid hosted tier: your CLI makes its next API call, and instead of a streamed response it gets back a structured error. Status 429, body shape:
{
"type": "error",
"error": {
"type": "quota_exceeded",
"message": "monthly quota exceeded -- buy a top-up to continue, or enable auto-top-up in your dashboard",
"remediation_url": "https://app.typed.cloud/dashboard/plan"
}
}
Your CLI surfaces that message in the same red box it uses for any API error. You click through to the dashboard, hit one of the four top-up buttons, the checkout modal opens in-page (no redirect), and the purchase completes in a few seconds. Your top-up balance is active immediately - the next CLI request goes through.
If you turned on auto-top-up beforehand, none of that happens. typed sees the over-quota request, charges your card on file for your configured denomination, the request continues, and a receipt lands in your inbox. From the CLI's point of view, the call simply succeeded; you find out about the charge from the receipt or the next dashboard visit.
The math: a $5 top-up buys roughly a couple of hours of moderate AI coding CLI usage, and a $20 top-up takes you most of a working day. You add credit when you need it, it stays on your balance for 90 days from purchase, and it is consumed before your included volume resets.
What this trades off
Honesty: monthly quota means typed has to size its quotas for actual coding workloads, not theoretical-peak ones. We did, and the pricing details page has the per-tier methodology.
A vendor running rolling windows can advertise a nominally larger quota because they know most users won't approach it in any single window. We can't lean on that, so the headline number is bounded by what we'll commit to. The tradeoff: the number you see is the number you have. Your dashboard reads one percentage against one monthly quota, and it doesn't quietly shrink because you spent an aggressive Saturday.
When auto-top-up wins, when it doesn't
Auto-top-up is the right setting if you've ever been mid-deploy when a quota popped. Five dollars to keep a release moving is a no-brainer; a 429 in the middle of a kubectl rollout status watch is not.
It's the wrong setting if you treat your monthly quota as a budget rail. Some users explicitly want the 429 - it's the feedback loop that tells them "you're at the cap, decide what's worth $5 right now." Both modes are valid. We default off because a surprise charge is worse than a surprise pause.
What happens when the charge fails
Auto-top-up isn't bulletproof; cards expire, banks decline, fraud holds happen. When auto-top-up is on and a charge fails, typed returns a 402 instead of a 429, with a short cool-down before retrying so a hard-declined card doesn't get hammered every request. The error includes a link to /dashboard/plan to update your payment method. You can still buy a one-off top-up manually during the cool-down, since the cool-down is on auto-charge retries, not on your account.
This is the kind of edge case we'd rather call out than discover together at 11pm on a Friday. The default-off setting for auto-top-up exists for the same reason: we'd rather you opt into the convenience deliberately than wake up to a surprise charge on a misconfigured cap.
Does typed have a weekly cap?
No. The realistic shape of heavy usage is bursty, you'll spend three days in flow and then two weeks tuning configs. Rolling windows tax the flow days specifically. Monthly quota lets the flow days be flow days and quietly amortizes against the slow weeks.
If your usage genuinely runs hot every day, you have two ways out that don't involve a window. Move the routine hours onto the free local tier -- it runs on your hardware, so it costs nothing however hard you run it -- or move up to a plan with a bigger monthly budget, which every hosted tier draws from: the Max plan is $100/month, the same as the leading Max 5x plan, and Team plans start at $25/seat/month with one quota pool shared across the org. Per-tier breakdown on the migration page; product landing at typed.cloud. An account is only needed for the paid hosted tiers: app.typed.cloud.
FAQ
Does typed have a 5-hour window or weekly cap? No. On the paid hosted tiers, quota is monthly with one reset date -- when you hit 100%, you get a 429 with a one-click top-up (or, if you've enabled auto-top-up, a silent recharge and a receipt). On the free local tier there is no quota at all: it runs on your machine, so there is nothing to cap and nothing to reset.
What happens when I hit my typed quota? The next request returns a 429 with denominations to top up ($5 / $10 / $20 / $50). Top-ups expire 90 days after purchase and are consumed before your included volume resets. With auto-top-up enabled, the session continues without interruption.
Is typed cheaper than the leading Pro plan? Without a plan it is free: typed-local runs on your own machine, needs no account, and costs nothing. On the paid hosted tiers the monthly price matches the reference plans. What differs is the billing shape (monthly, not 5-hour windows) and that you get frontier-class quality at that same price (we put that to the test in a 14/14 coding head-to-head against Opus 4.8). See the migration page for the full side-by-side.
Do I need an account or an api key? Only for the paid hosted tiers. The installer takes a key as an optional argument, and with no key the CLI defaults to the free local tier and runs entirely on your machine.
The shorter version
Rolling windows are a vendor tool dressed up as a billing model. typed's monthly quota + optional auto-top-up moves the control to you: pick whether you want to be interrupted at the cap, set a ceiling if you want one, and never wonder when the next window resets, because there isn't one.
If you want to try it -- no account, no key:
curl -fsSL https://app.typed.cloud/install.sh | bash
typed local # sizes a known-good model for this machine and prints the command to start the server
typed # start coding
That runs on your own hardware, on the free tier, with no meter and no reset date. When you want a hosted tier, get a key at app.typed.cloud and run typed login -- or hand the key to the installer directly with bash -s <your typed key>. Either way, typed (or the short t) from any project directory is how you start.