In March 2026, Claude Max subscribers started watching a 5-hour window drain in 90 minutes. One person reported going from 21% used to 100% used on a single prompt, and everybody assumed it was a bug.
It wasn't. Anthropic's Thariq Shihipar posted on X and said that they're adjusting the 5 hour session limits during peak hours to manage growing demand, affecting roughly 7% of users.
Claude Pro meters you on two clocks at once: a rolling 5-hour session window and a weekly cap, shared across claude.ai, Claude Code and the desktop app. Neither one is a message counter. Both are token meters, and what drains them fastest is not how much you ask, it is how much you make Claude re-read.
That distinction is the whole post. Once you read the meter properly, most of the "limits" problem turns into a context management problem, and context is something you actually control.
What are Claude Pro's usage limits, exactly?
Two windows, running at the same time, and you can hit either one.
The 5-hour session window starts with your first message and rolls. It is not a clock that ticks at the top of the hour, and it is not tied to a calendar day. Send a message at 2pm and that window closes at 7pm, whether you sent one message in it or four hundred.
The weekly window sits on top of that and resets at a fixed time assigned to your account. This one is the real ceiling for heavy users, because you can stay inside every 5-hour window all week and still run out on a Thursday.
Both windows are shared. Anthropic's docs are explicit that usage across claude.ai, Claude Code and Claude Desktop counts toward the same pool. So the hour you spent arguing with Claude about your resume in the browser is the same hour you don't get in your terminal later.
And here is the part that annoys everyone, me included: Anthropic publishes no token number for any plan. Not for Pro, not for Max. Pro is described as more usage than free, and Max is sold as 5 times or 20 times more usage than Pro. Any blog quoting you an exact message count for Pro is guessing.
The plans themselves, as of August 2026: Pro is 17USD per month billed annually or 20USD per month billed monthly, and Max starts at 100USD per month. Same model access on both. The only thing you buy with Max is a bigger number on the same two clocks.
There is one more distinction worth holding onto, because it changes what you do when you get blocked. A message saying you hit your session limit or weekly limit is plan-wide, and switching models with /model will not save you. A message saying you hit your Opus limit or Sonnet limit is model-specific, and switching to a different model family genuinely does keep you working.
Why your limit drains faster than your typing
Let's do a quick prediction exercise, because I think most people's mental model here is exactly backwards.
Two developers, same Pro plan, same afternoon.
Developer A opens a fresh Claude Code session, asks 40 short questions about a small file, and closes it.
Developer B opens one session at 9am, works on and off all day across three unrelated tasks without ever clearing, and sends 12 messages total.
Which one burns more of the plan? Commit to an answer before you read on.
It's B, and it is not even close! Here is why, straight from Anthropic's cost documentation:
Claude Code sends your full conversation with every request, and each time Claude uses tools it sends another request carrying that batch of tool results.
So a one-line question at 4pm, in a session that has been open since 9am, draws usage for the entire conversation sitting behind it. Every file that got read, every tool result, every previous answer. Twelve messages carrying a whole day of accumulated context beats 40 messages carrying almost nothing, every single time.
Three more things burn the meter while you are not looking, and none of them are obvious.
Cache misses. Prompt caching is what keeps a long session affordable, because re-read history gets billed at the cached rate instead of the full one. But the cache has a lifetime. On a subscription it is one hour, and your first message after a longer break misses it and reprocesses your entire context at full price. That is the real answer to "why did one question cost me so much".
Extended thinking. It's on by default, thinking tokens bill as output tokens, and the default budget can run to tens of thousands of tokens per request depending on the model. You are paying for reasoning on tasks that may not need any.
Agent teams. If you have them switched on, they use roughly 7 times more tokens than a normal session when teammates run in plan mode, because every teammate carries its own full context window. Five agents is five conversations, and not one.
I have some personal skin in this part. I have been building ANRL, an AI-native representation language with a Rust parser-compiler, specifically because delimiter overhead and context fragmentation waste an absurd share of a context window. It cuts delimiter token overhead by over 40% in my benchmarks. Spending months on that problem is what made me stop reading the limit as a quota and start reading it as a bill for context I chose to carry.
Why did Claude cut me off after one question?
Because that one question was not one question.
If you resumed a large session after a long break, you paid a cache miss on the whole history. If a scheduled task or a background job fired while the session sat idle, it sent your full context along with it. If you ran /compact, that operation itself reads the entire conversation it is summarizing, so compacting a huge context is itself a huge request.
The tell is always the same: the size of the request has almost nothing to do with the size of what you typed.
When do Claude usage limits reset?
The 5-hour window resets 5 hours after your first message in that window, rolling. There is no fixed reset hour, so the practical move is just to notice when you started.
The weekly window resets at a fixed time tied to your account rather than a global Monday. When you actually get blocked, the error message tells you the reset time, and that is the only authoritative source you have.
Worth knowing: Claude Code v2.1.234 and later can wait out a limit and resume the interrupted task automatically once the window resets. It lives in /rate-limit-options, and it beats sitting there refreshing.
How do you see where your usage actually went?
This is the step almost everybody skips, and it is the one that changes behaviour.
Run /usage inside Claude Code. On a paid plan it shows plan usage bars plus a breakdown that is genuinely useful:
- Attribution, meaning how much of your recent usage went to skills, subagents, plugins and each individual MCP server, as a percentage of the total.
- Behavior flags, which name the behaviour costing you the most whenever one crosses 10% of recent usage, so "long context" or "cache misses" gets called out by name instead of you having to guess.
- Loops, the heaviest scheduled tasks that ran recently, with per-run token counts.
Press d or w to flip between the last 24 hours and the last 7 days.
Then run /context to see what is sitting in your context window right now, and /insights for a report on how you actually work, written out to ~/.claude/usage-data/report.html.
One honest caveat. These numbers are computed from local session history on that machine, so usage from your other devices and from claude.ai is not in there. Don't treat the bars as your true remaining balance.
I built something adjacent to this on a contract a while back, an internal tool that captured an AI product's logs and turned them into reports on latency and probable slowdowns (keeping it vague here, can't say much more than that). The lesson transferred completely: teams argue about model quality for weeks and never once look at the token accounting, which usually takes an afternoon and explains most of the pain.
How do you actually work around Claude Pro's usage limits?
Let me be blunt about one thing before the list. Nothing here raises your subscription cap. There is no flag and no proxy that makes Anthropic hand you more of a plan you didn't buy, and anybody selling you a "bypass" is selling you something that doesn't exist.
What you can do is make each token buy more work, and give yourself somewhere to go when you get blocked. Both are real, and together they are worth more than a plan upgrade.
1. Clear between unrelated tasks
/clear does more work than anything else on this list, because it attacks the long-context problem directly. Switching from a bug fix to writing docs? Clear. Use /rename first so you can /resume that session later if you need it.
2. Match the model to the job
Sonnet handles most coding work and costs meaningfully less than Opus. Keep Opus for architecture calls and multi-step reasoning, and switch with /model mid-session rather than committing at the start. For simple subagents, set model: haiku in the subagent config.
Leaving Opus as your default all day is the most common way people burn a weekly cap without noticing.
3. Turn the thinking budget down when you don't need it
Lower the effort level with /effort, disable thinking in /config for simple work, or cap it with an environment variable:
MAX_THINKING_TOKENS=8000
That line says: give me at most 8,000 tokens of reasoning per request. On adaptive-reasoning models the budget is ignored, so use effort levels there instead.
4. Shrink what loads at session start
Your CLAUDE.md is loaded into context at the start of every single session, so a 600-line file is a tax on unrelated work all week. Anthropic's own guidance is to keep it under 200 lines and move specialised instructions into skills, which load only when invoked.
Same idea for MCP servers. Run /mcp and switch off the ones you aren't using, and prefer CLI tools like gh or aws where they exist, since those add nothing to context until Claude actually runs them.
5. Push verbose work out of the main conversation
Two mechanisms, same principle: keep the noisy stuff out of the conversation that gets re-sent every turn.
Subagents for running tests and chewing through logs. The verbose output stays in the subagent's context and only a summary comes back.
Hooks for preprocessing. A PreToolUse hook that greps a 10,000-line log for ERROR before Claude ever sees it takes that context from tens of thousands of tokens down to hundreds.
6. Stop paying for cache misses
The cache lifetime is one hour on a subscription. So the pattern that hurts is: work for an hour, go to a meeting for 90 minutes, come back and drop a one-liner into the same session.
Either come back inside the hour, or start fresh instead of resuming. On Pro and Max, Claude Code will offer to resume a large session from a summary rather than the full history, and you should take it.
7. Understand what usage credits really cost
You can switch on usage credits and keep working past your cap, billed at standard API rates. Fine. But there's a trap in the small print that nobody mentions: once you are drawing on usage credits, the prompt cache lifetime drops from one hour to five minutes!
So the moment you go over your cap, your long sessions get dramatically more expensive per message, and not just marginally. You can choose the TTL yourself to keep the one-hour lifetime, and if you use credits at all, you should.
8. Give yourself a second lane
The seven above make one plan go further. This one is different, because it gives you somewhere to fail over to when the plan is genuinely spent.
Claude is available from Anthropic directly, from Amazon Bedrock and from Google Vertex AI, and each of those has its own independent rate limits. Your subscription cap has no bearing whatsoever on your Bedrock quota. So "I'm blocked until Tuesday" is really a routing problem wearing a costume, and routing problems have known solutions.
What an AI gateway does about this, and what it can't
An AI gateway is a proxy that sits between your tools and every model provider you use, speaks all of their API shapes, and makes routing and budgets somebody else's problem. I have been running Bifrost, Maxim AI's open-source Go gateway, as mine for a while now.
Start with the honest half, because it matters more than the pitch.
A gateway cannot raise your Claude Pro cap. Your subscription is an OAuth relationship between Claude Code and Anthropic, and no proxy in the world changes that arithmetic. Worse, the moment you point Claude Code at a gateway you are authenticating with API keys, which means that traffic bills per token and doesn't touch your subscription at all. Different cost model, and you should walk into it knowingly.
Which is exactly why it works as an overflow lane. It's a separate meter, and not a bigger one.
Pointing Claude Code at it is two lines in ~/.claude/settings.json, or %USERPROFILE%\.claude\settings.json on Windows, which is where mine lives:
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:8080/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your-virtual-key"
}
The path is /anthropic and not /v1/anthropic, which is the mistake everyone makes exactly once. From there, /model openai/gpt-5.5 or /model vertex/claude-haiku-4-5 switches providers mid-session, and the harness never knows anything changed.
Now the four things that are actually worth having.
Failover that fires on the error you care about. Fallback chains are declared as an ordered list, and every provider in the chain gets its own full retry budget:
"fallbacks": [
"anthropic/claude-sonnet-4-6",
"bedrock/anthropic.claude-sonnet-4-6-v1:0"
]
The detail I like here is how a 429 is handled. Hitting a rate limit does not immediately jump you to the next provider. It rotates to another key within the same provider first, and only falls through once that provider's retries are exhausted. Backoff doubles on each retry until it hits a ceiling, with a bit of randomness thrown in so a thousand clients don't all retry on the same tick. In practice that is min(initial × 2^attempt, max) × jitter, defaulting to 500ms initial and 5,000ms maximum, so a provider having a bad minute doesn't get hammered on the way out.
Budgets that refuse instead of warn. Virtual keys are scoped credentials carrying their own budgets and rate limits. You give the coding agent one key and the side project another, and when a budget is exhausted the request gets refused with a real status code rather than quietly costing you money. This is the piece Anthropic's own plan structure genuinely does not give an individual.
Caching, so repeated work stops being paid work. A cache hit is a completion you never pay for, in tokens or in seconds. I went through the mechanics, the threshold trap and the realistic hit rates in what semantic caching actually is, including why the 95% figure quoted everywhere is not a hit rate at all.
Numbers you can act on. Every request through the gateway is logged with tokens, cost, latency and provider. Same accounting /usage gives you, except it survives across machines and covers the tools that aren't Claude Code.
If you want the routing side in more depth, I wrote up adaptive load balancing separately. And the overhead question has a real answer: Bifrost adds tens of microseconds per request at 5,000 requests per second, which is nothing next to a model call.
Is Claude Max worth it, or should you just use the API?
Depends on one number, and you can go get it today.
Open /usage, press w, and look at what share of your weekly cap you actually consumed. If you regularly finish the week under 70%, Max is not your problem and better context habits will get you the rest. Upgrading to fix a habit is an expensive way to avoid typing /clear.
If you are hitting the weekly wall by Wednesday every week, then it's a real capacity problem and you have two honest options. Max at 100USD per month buys you 5 times the same plan, predictably, and it's the right answer if your usage is steady. Pay-per-token through a gateway has no ceiling at all, but also no floor, so it's the right answer if your usage is spiky.
For reference on the pay-per-token side, Anthropic's enterprise deployments average around 13USD per developer per active day and stay under 30USD per active day for 90% of users. On steady daily use, that math does not favour the API. On three heavy days a month, it does.
My own answer, and yours might be different: subscription for the daily driver, gateway for the overflow and for everything that isn't Claude Code.
One more thing about the limits themselves
They move, and this year they have mostly moved in your favour.
On 6 May 2026, Anthropic doubled Claude Code's 5-hour rate limits across Pro, Max, Team and Enterprise, and removed the peak-hours reduction that caused the March mess. That came attached to a compute deal for more than 300 megawatts of new capacity, over 220,000 GPUs.
Then weekly Claude Code limits went 50% higher as a promotion from 13 May, originally through 19 August 2026, and later extended to 31 August. Anthropic's own wording about making it permanent was careful: they hope to, but capacity may be tight.
So treat any specific limit you read about, including the ones in this post, as a snapshot. The mechanism is stable. The numbers are not.
What I actually do
Nothing exotic, and it took about a week to settle into.
Claude Code stays on the Pro subscription, because that is the best price per unit of work I can get anywhere. I /clear between unrelated tasks, which I resisted for a long time and was wrong about. Sonnet is my default and Opus is a deliberate choice, and not a setting I forgot to change. And when something feels slow or expensive, I open /usage and read the behavior flags instead of guessing, which is the habit that actually stuck.
Underneath the harnesses that aren't Claude Code, my traffic goes through the gateway with a fallback rule, so one provider having a bad day doesn't end my afternoon. I also keep a second subscription with a different vendor, which is less a strategy than an admission that a single meter is a single point of failure.
Start with /usage this week. Find your biggest behavior flag and fix that before you spend a rupee on a bigger plan. If it says long context, you have a /clear habit to build. If it says cache misses, you have a scheduling problem. Either way you will know, and knowing is most of it.
And if you have found a genuinely clever way to stretch a Pro plan that isn't on this list, I want to hear it in the comments. I write more about LLM infrastructure and building with AI over at swapnoneel.site, and I'm on X (swapnoneel123) if you want to argue about any of this.










Top comments (0)