"You've hit your limit" usually arrives in the middle of something. Here is how Claude Code's limits work on a Pro, Max or Team plan,
what actually moves them, and how to see the end of a window coming instead of finding out from the error.
There are two limits. A session limit that resets every five hours, and a weekly limit that resets at a fixed time each week.
What fills them is mostly new tokens: on my account, 1% of the 5-hour limit was about 166k new tokens but about 11 million
cached ones.
The 5-hour session limit. Anthropic's help center: paid plans have "a session limit that resets every five hours, and weekly
limits that reset once every week"
(How do usage and length limits work?).
The weekly limit. It "reset[s] at a fixed time each week that is assigned to your account", whenever you started using Claude
Where to see them. Settings → Usage on claude.ai shows both as progress bars, with the time left in the current session
(Usage limit best practices). Claude Code also
passes the same readings to your status line, which is how a tool can show them while you work.
When either one is used up you wait for its reset, or keep going on paid extra usage if you've turned that on. A full weekly limit
stops you even with room left in the 5-hour window.
The meter is a percentage, and Anthropic doesn't say how many tokens a percent is. I measured it on my own account by comparing each
rise of the 5-hour reading with the tokens my sessions used in between (61 observations, two days; the method is in
How many tokens is 1% of your Claude Code limit?):
| Tokens per 1% of the 5-hour limit | |
|---|---|
| New tokens (input, cache writes, output) | ≈ 166k |
| Cached tokens (cache reads) | ≈ 11.2M |
One account, one plan. A fit on the previous day gave about 200k and 10.7M, so read these as a range.
A cached token counted roughly 1/67 as much as a new one. Claude Code re-sends your whole conversation on every model call, but most
of it comes back from the cache, so a long session is cheaper than its size suggests. What runs a window out is anything that sends
new tokens:
Subagents. Each one writes its own context from scratch. A typical one cost me about 2% of a 5-hour window (Do subagents burn your limit faster?).
Coming back after a long . Once the prompt cache expires, the next message re-sends the whole context as new tokens (Why a long idle costs you).
Big tool output and file reads. Everything new that enters the conversation is new tokens once.
A large starting context. Instructions, tool lists and skills are written once per session and every subagent, then re-read on every call.
The percentage alone doesn't say whether you'll make it to the reset. That depends on your pace: 70% with an hour left is fine at a
slow pace and a lockout in twenty minutes during a burst of subagents. limitcast does that arithmetic for you:
$ limitcast status
window used burn runs out resets today status
claude 5h 71% +18.2%/h 16:40 17:00 - AT_RISK
claude 7d 41% +0.6%/h - Sun 03:00 6% left OK
The 5-hour window is forecast from the last hour's pace; AT_RISK means it runs out before it resets.
The weekly window uses your pace over the last full day, nights included, and shows today's even share of the week, so one busy hour doesn't cry wolf.
The same line sits in your Claude Code status line, from the readings Claude Code already passes to it. No login, nothing leaves your machine.
The free version gives you the forecast and the status line. Pro also stops new subagents when a window is on
pace to run out within 30 minutes, moves them to Sonnet while it's tight, and sends a desktop notification before you hit the limit.
Don't start a fan-out near the end of a window. Ten subagents at about 2% each are a fifth of it.
Compact long sessions before a , not after: /compact shrinks what the next call has to re-send.
Queue the heavy job for after the reset instead of starting it with 10% left.
Check what loads before you type. Unused MCP servers and skills are re-sent on every call and to every subagent: limitcast trim measures them.
npm install -g limitcast
limitcast install # adds the forecast to your status line; backs up settings.json
limitcast status # every window: used, burn rate, runout time, reset
Node 20+, macOS or Linux. Install details · limitcast uninstall restores your settings.
limitcast forecasts when each Claude Code and Codex window runs out, and its Pro plan stops runaway subagents before they burn the rest of it.
See what limitcast does · Pricing ·
How many tokens is 1%? · Subagents and your limit ·