Claude Code rate limits, explained
Claude Code's limits confuse people because there are two of them, they reset on different schedules, and neither is a fixed message count. Here's the mental model that makes them predictable — and how to make sure they never surprise you mid-task.
The two limits, side by side
Pro and Max subscriptions meter Claude Code on two windows at once:
The 5-hour rolling window. This is the one you feel day to day. It starts counting from your first message and resets five hours later — not at the top of an hour, not at midnight. Work hard for two hours and the reset lands mid-afternoon; start again in the evening and it lands at night. It moves with you.
The weekly cap. A larger allowance that refills on a weekly cycle, sitting above the rolling window. Most sessions never touch it; a week of heavy, multi-agent, big-model work can. When it binds, no amount of waiting five hours helps — that's why it's worth watching separately.
The mental model
At any moment, one of the two windows is the binding one — the closer of the two to its cap. The only numbers that matter are which window that is, and when it resets.
What actually counts
Everything the agent does on your behalf draws from the same budget: the messages you send, the tools it runs, the files it reads, and the subagents it spawns. Two things dominate in practice. First, model choice — heavier models consume several times more capacity per request than lighter ones. Second, session length — long-running agentic tasks with many tool calls draw continuously, not just when you type. A quiet hour of autonomous work can use more of your window than an afternoon of quick questions.
What happens when you hit one
Claude Code warns you in the terminal as you approach the cap, then pauses when you reach it, telling you when the window resets. Nothing is lost — your session and context survive — but the agent stops mid-flight. If the rolling window stopped you, the wait is bounded by hours; if the weekly cap did, you'll want a different plan (or a different agent) for the rest of the week. The frustrating part isn't the limit itself — it's discovering it after committing to a big task instead of before.
Which limit stopped you?
The reset time is the tell. A reset measured in hours means the rolling window stopped you — wait it out, or hand the task to a lighter model when the window reopens. A reset measured in days means the weekly cap is binding, and your real options change: no amount of five-hour patience helps, so either the work moves to another agent with its own budget, or the plan tier is genuinely too small for how you work. Diagnosing this correctly matters because the two failures look identical in the terminal — "you've hit your limit" — but call for opposite responses.
How to see limits coming
Inside Claude Code, /usage shows a snapshot of both
windows with their reset times. That's the on-demand answer. The
always-on answer is a monitor that keeps both percentages and
countdowns visible while you work — Vibe Island puts them in your
Mac's notch, right above your live sessions, reading the login you
already use. The full walkthrough is in
how to check your
Claude Code usage.
How to stretch your limits
Match the model to the task. Reserve heavy models for hard problems; run routine edits, reviews, and refactors on a lighter one. This is the highest-leverage habit by far.
Batch your asks. One well-specified prompt that finishes the job consumes less than five rounds of corrections.
Time the big runs. Kick off long autonomous tasks right after a window resets, so they run on a full tank.
Spread across agents. Codex, Gemini CLI, and other agents have independent budgets. If you run more than one agent, their combined capacity is effectively your real limit — provided you can see all of them at once.
Common questions
Is there a fixed number of Claude Code messages per window?
No. Capacity depends on your plan, the models you use, and how heavy each request is — a long agentic run consumes far more than a short question. That's why the percentage figure is the useful number: it already accounts for all of that.
Do Claude Code limits reset at a fixed time of day?
The 5-hour window doesn't — it's rolling, anchored to when you started using it. The weekly cap refills on its own schedule. Because neither is on a clock you can memorize, a live countdown beats mental math.
Do bigger models use up the limit faster?
Yes. Heavier models consume substantially more of your window per request. Routing routine edits and reviews to a lighter model is the single most effective way to stretch a subscription.
How do I check how much I have left?
Run /usage inside Claude Code for a snapshot, or keep it permanently visible with a notch monitor — Vibe Island shows the percentage used and reset countdown for both windows at the top of your screen.
Related reading
Step-by-step: how to check your Claude Code usage. Running OpenAI's agent too? Codex rate limits, explained. And the product side: usage tracking in Vibe Island and Claude Code monitoring.
Vibe Island · macOS 14+
Never get stopped by a limit you didn't see coming
Download Free Trial2-day free trial · all features included · no card required