Claude Code 5-hour limit explained: session window and weekly cap
On this page
The 5-hour limit is a rolling window of tokens, not hours or messages. It is counted together with a weekly limit that resets once a week. Run /usage to see both bars and their reset times.
"You've hit your session limit · resets 3:45pm." If you use Claude Code on a Pro or Max plan, you have probably seen that line, and wondered why it came so early.
There are two limits behind it, and they behave differently.
Two windows, counted at the same time
The session limit is a rolling five-hour window. It is the one that stops you in the middle of an afternoon and comes back a few hours later.
The weekly limit is a longer allowance that resets at a fixed time once a week. It is the one that can lock you out for days.
The Claude Code docs point out that usage counts against both at the same time. A heavy burst, such as a large workflow that fans out to many agents, can use up the weekly allowance before the five-hour window even resets.
A few details that are easy to miss:
- Both limits are shared across models. Switching with
/modeldoes not help after "You've hit your session limit". It only helps after a model-specific message like "You've hit your Opus limit". - Claude chat shares the allowance. On subscription plans, usage from claude.ai and Claude Code draws from the same pool.
- You get a warning first. Claude Code shows a message like "You've used 85% of your session limit · resets 3:45pm" before the window runs out.
How to check what is left
Run /usage. On Pro, Max, Team and Enterprise it shows a bar for the session window and one for the week, each with its reset time.
If /usage cannot reach the server, it shows the last bars it loaded in the past hour, with a note saying how old they are. Press r to retry.
Checking by hand works until you are deep in a task and forget. Two ways to keep the number in view:
- A status line script can show usage under the prompt in the terminal. How to check Claude Code token usage compares it with the other options.
- SkillKeeper shows how much of the 5-hour or weekly limit is used, and the time until it resets, in the header of its menu bar popup. Click to switch between the two windows.
Why the limit runs out early
The five-hour window measures tokens, not hours or messages. A short afternoon can use more of it than a long one, depending on what happened in it. The usual reasons:
- Long sessions. Every message re-sends the conversation. A question at the end of an all-day session costs the whole day's context.
- Cache misses. The first message after a break longer than the cache lifetime (an hour on a subscription) reprocesses everything at the full rate.
- Subagents and workflows. Each agent runs its own conversation on top of yours.
- Loops and scheduled tasks. They fire on their interval while you are away, each time with the full context of their session.
Why Claude Code burns through tokens goes through each of these in more detail, with a fix for each.
See what used up the window
"73% used" says how much. It does not say on what.
/usage gives part of the answer: an attribution of recent usage to skills, subagents, plugins and MCP servers, over the last 24 hours or 7 days.
SkillKeeper goes further with a timeframe that matches the limit. Pick 5h and the list shows only the last five hours: which skills, agents, tools, MCP servers, memory files and sessions took the tokens, sorted by size. Hover a row and the bar in the header shrinks to that row's share of the limit, so you can read "this one session took a third of my window" at a glance. Hover a bar in the chart and the list recounts only that slice of time.
What to do when you hit it
- Wait for the reset. The error message and
/usageshow when. Recent versions of Claude Code can also wait and continue the interrupted task on their own after the reset. - Use usage credits if your plan has them turned on:
/usage-credits. - Change what you run next time. Once you know which session, subagent or loop took the window, that is the thing to shorten, split or stop. Everything else can stay.
Related
- How to check Claude Code token usage – five ways to see how much you have used and where it went
- Why Claude Code burns through tokens – the usual causes behind a window that runs out early
- Claude Code context window full: what to do – what happens to a long session when the context fills