You finally hit your stride in Claude Code, and then this stops you cold:

You've hit your session limit · resets 3:45pm

In other words, you have used up what your current plan allows, for now. It is not an error or a bug: it is how subscription (Pro / Max and similar) usage limits work. The official error reference lists four versions, depending on which allowance ran out (the times are examples):

You've hit your session limit · resets 3:45pm
You've hit your weekly limit · resets Mon 12:00am
You've hit your Opus limit · resets 3:45pm
You've hit your Sonnet limit · resets 3:45pm

Older versions worded it as Claude usage limit reached. Your limit will reset at 3pm (America/Santiago). (Section 1 traces how the wording changed.) The frustrating part is that it is not obvious which allowance you hit, when it comes back, or what you can do until then. This article lays out what the four messages mean, the two-tier limit structure (5-hour + weekly), what drives consumption, what to do the moment you hit the cap, how to check what is left, and the API escape hatch — based on the official documentation.

Three takeaways up front. (1) session limit is the rolling 5-hour window and weekly limit is the weekly window; both are shared across all models, so switching models does not bring access back. (2) Opus limit / Sonnet limit cover only that model family, so switching with /model to a model outside the family keeps you working. (3) If you can wait, Claude Code v2.1.234 and later can resume your task automatically after the reset. If you cannot, switch to usage credits or pay-as-you-go API. Per-plan amounts change over time, so always confirm the numbers in the live official view (/usage or Settings → Usage).

CLAUDE CODE · USAGE LIMIT

The usage limit is two stories tall

— hitting just one of them stops you

1) 5-hour window (session limit) resets ~5h after your first prompt
100% reached → resets 3:45pm
2) Weekly window (weekly limit) resets every 7 days (all models)
68% used
3) Per-model caps (Opus / Sonnet) only that model family stops
88% used (watch out)

Claude Code and the Claude apps (web/desktop) share the same plan allowance.
Gauge numbers are illustrative. Check your real balance with /usage and Settings → Usage.

1. What the message means — session, weekly, Opus, Sonnet

Today's message has the shape "You've hit your [X] limit · resets [time]" and names the allowance that ran out. According to the official docs, Claude Code blocks further requests until the reset time shown. The time is your local time, and reports on the official repository often show the time zone in parentheses, as in resets 4:20am (Europe/Rome).

MessageWhat ran outDoes switching models help?First move
You've hit your session limitRolling 5-hour window (shared by all models)NoWait for the reset (auto-continue), or use usage credits
You've hit your weekly limitWeekly window (shared by all models); the reset can be days awayNoCheck the reset in /usage, then wait, use usage credits, switch to the API, or upgrade
You've hit your Opus limitA cap for the Opus family onlyYes (to a non-Opus model)/model to Sonnet or another model
You've hit your Sonnet limitA cap for the Sonnet family onlyYes (to a non-Sonnet model)/model to a model outside Sonnet

The key point is that this is by design, not a malfunction. Claude's Pro / Max plans are not "unlimited" — there is a cap on usage per time window and per week. And Claude Code (CLI) and the Claude apps (web/desktop) share the same plan allowance — the official help states that "all activity in both tools counts against the same usage limits." So it is perfectly normal that "I used chat AND ran Claude Code, and together they ran out faster."

Two more lines appear in the same situation. Both are about the same allowances as the four above.

  • Usage limit reached · continuing automatically at 3:45pm · esc to cancel — Claude Code is waiting to resume the interrupted task after the reset (v2.1.234 and later; see Section 4)
  • You've used 85% of your session limit · resets 3:45pm — a warning before the window runs out

By contrast, the following messages do not mean your 5-hour or weekly allowance ran out, so the fix is different.

  • API Error: Server is temporarily limiting requests (not your usage limit) — a short-lived server-side throttle unrelated to your plan. Wait briefly and try again (v2.1.199 and later retry it automatically before showing it)
  • You've hit your monthly spend limit · raise it at claude.ai/settings/usage — the usage credits that pay for usage beyond your plan have reached a monthly spend limit. Raise the limit, or wait for the plan window reset if the message names one (on Team / Enterprise it reads individual spend limit, org's monthly spend limit, and so on)
  • Usage credits required for 1M context — an entitlement check for the 1M-token context window, not an exhausted quota. Use /model to go back to a model without the [1m] suffix
  • Request rejected (429) — a rate limit on an API key or a cloud provider (see Section 6)

How the wording changed — "Claude usage limit reached" is the old text

Lining up the messages that users pasted into bug reports on the official anthropics/claude-code repository shows the wording changed at least twice. The CHANGELOG has entries such as "Usage limit notifications now easier to understand" (v2.0.51), but it does not record the text swap itself.

When reports show itMessage
2025Claude usage limit reached. Your limit will reset at 3pm (America/Santiago).
Dec 2025 – May 2026You've hit your limit · resets 10am (Europe/Kiev)
May 2026 – nowYou've hit your session limit · resets 1pm (Australia/Brisbane) and the rest of the four in the official reference

Many 2025 reports also show a form with the reset time as a Unix timestamp, such as Claude AI usage limit reached|1749470400. If you still see the old wording, updating with claude update tells you which allowance you hit and gives you auto-continue (conditions in Section 4).

2. The two-tier limit — 5-hour + weekly (+ per-model caps)

In August 2025, Anthropic added weekly usage limits to Pro / Max on top of the existing 5-hour window (driven by heavy users running it continuously). As a result, today's subscription limit is two stories tall. According to the official docs, usage counts against the session and weekly allowances at the same time, so a single burst of heavy activity, such as a large workflow fan-out, can exhaust the weekly allowance before the session window resets.

The exception is the $200 Ultra plan (renamed from Max 20x on October 31, 2026). According to Anthropic's help article "What is the Ultra plan?", verified Ultra accounts have no 5-hour window: only the weekly limit (10x Pro) and the weekly Fable limit. Anthropic verifies accounts automatically based on account and payment history; until verification completes, a temporary 5-hour limit applies. If Settings → Usage shows no "Current session" bar, the account is verified and you won't see the session limit message. The $100 Max plan gets 5x Pro on both the 5-hour and weekly limits (see "What is the Max plan?"; both checked October 31).

2-TIER LIMITS

The two windows act independently

1) Rolling 5-hour window (session limit)
Your first prompt opens the window; the next ~5 hours draw from it. It resets ~5 hours later, and your next first prompt opens a fresh one. Not a fixed clock time, not daily — it is rolling.
2) Weekly window (weekly limit, all models)
A weekly total cap that resets every 7 days. The message carries a day or date, as in resets Mon 12:00am, and the reset can be days away. Check the next reset under Settings → Usage or in /usage.
3) Per-model weekly caps (Opus / Sonnet)
Some accounts have separate weekly caps for the Opus and Sonnet families on top of the all-models allowance (they appear as per-model rows in /usage). When one runs out, the message names the family, as in You've hit your Opus limit, and for this cap only, switching with /model to a model outside the family keeps you working.

Plans differ by a "multiplier" on the same structure: Pro < Max (5x) < Ultra (10x weekly; no 5-hour window once verified).
The exact weekly hours get revised over time. Do not memorize fixed numbers — read the live values in Settings → Usage.

As an original (August 2025) guide, Anthropic gave rough estimates like "Pro: ~40-80 hours of Sonnet per week" and "Max 20x (now Ultra): ~240-480 hours of Sonnet + ~24-40 hours of Opus per week." However, Anthropic has since largely stopped publishing fixed hour figures, and the limits have been revised repeatedly (even in 2026, increases to the 5-hour window were reported). So treat those numbers as "estimates from back then," and always confirm your current allowance in the official usage view. This article deliberately avoids asserting specific current values.

3. What burns through your allowance

"It ran out faster than I expected" almost always comes down to these four, ordered by impact.

DriverWhy it burns the allowanceWhat helps
1) Model choice (biggest)Opus consumes far more than Sonnet/Haiku. The docs say plainly that Opus "uses significantly more quota." Some accounts also have separate weekly caps for the Opus and Sonnet familiesUse /model to run routine work on Sonnet/Haiku; reserve Opus for hard problems
2) Context sizeEvery turn reprocesses the whole conversation + attached files + tool defs + history. Bigger = more per turn/compact, /clear, attach fewer files, smaller CLAUDE.md
3) Long, continuous sessionsAlways-on, endless loops. The weekly cap specifically targets this patternBreak up work with /clear; stop unneeded auto-loops
4) Subagents / MCPParallel fan-out and MCP servers add tool definitions and tool-call trafficTrim active MCP servers. /usage shows a per-MCP/subagent breakdown

In short, the heavier the model, the bigger the context, the longer and more parallel the run, the faster the allowance melts. Conversely, deliberately lowering these four makes the same plan last noticeably longer. For overall optimization see AI coding cost optimization, and for concrete token-saving tactics see Claude Code token saving.

4. Five ways to keep working now

Five moves for the moment you hit the cap, by situation. Which one you pick depends on "which allowance did you hit?" (session / weekly / Opus / Sonnet in the message) and "can you wait?" Typing /rate-limit-options in Claude Code brings up the choices in one menu: wait and continue automatically, add usage credits, or upgrade your plan (it does not appear in the command menu, so type it in full).

5 OPTIONS

When you hit the cap

A · Switch models
Works only for Opus limit / Sonnet limit. /model to a model outside that family. Session and weekly limits are shared by all models, so this does not help there.
B · Trim context
/compact / /clear to spend less per turn and make the next window last longer.
C · Wait for reset
Wait until the resets time. From v2.1.234, an open session resumes the task on its own.
D · Switch to API
If even the weekly window is gone and you cannot wait, continue on an API key (pay-as-you-go) — no time-window reset to wait for.
E · More allowance
Use usage credits (standard API rates) via /usage-credits, or raise your plan with /upgrade.
Opus/Sonnet cap? A.
Session limit? C. Cannot wait? D / E.

Session and weekly limits are shared by all models — switching models does not bring them back. A session window returns within hours, so C; once the weekly window is gone, D or E is the realistic answer. B is for making the next window last.

Option C (waiting) became almost automatic in v2.1.234. In an interactive session signed in with a claude.ai subscription, when a usage limit stops Claude mid-task, Claude Code waits in the open session and continues the task after the reset. While it waits, a line at the bottom of the session reads:

Usage limit reached · continuing automatically at 3:45pm · esc to cancel

At the reset it does not resend your last message; it sends Claude a fixed prompt to pick the task up where it stopped. Permission prompts still appear as usual, so the task can stop on one while you are away. To cancel a wait, press Esc at an empty prompt; to turn automatic continue off entirely, switch off Continue automatically at usage limit in /config. Claude Code does not start the wait on its own when the reset is more than 24 hours away (a weekly limit, for example), so open /rate-limit-options and pick Wait here, then continue automatically. In the Code tab of the desktop app, the session-limit card has an Auto-continue when limits reset checkbox (the weekly-limit card does not).

Knowing the API switch (D) as an "escape hatch" is powerful. Unlike the subscription's time windows, the API has no 5-hour or weekly reset to wait for (you pay for what you use; it does have per-minute throughput limits and a monthly spend cap — see Section 6). See What is an AI API. On Pro / Max, turning on usage credits with /usage-credits (formerly /extra-usage) lets you keep going past the included allowance at standard API rates (official help). On Team / Enterprise, the same command sends a request to your admin.

5. How to see what is left

If you can see "how much is left," you can avoid hitting the cap entirely. Three ways to check.

1) Claude Code's /usage: shows how much of each plan allowance you have used and when each resets (/cost and /stats are aliases). On Pro, Max, Team, and Enterprise it also shows a breakdown by skill / subagent / plugin / MCP server (press d / w to switch between the last 24 hours and 7 days; the breakdown is computed from this machine's history, so usage on other devices or claude.ai is not included). It does not show which session used it, though (how to see usage by session). Before a window runs out you may see a warning such as You've used 85% of your session limit · resets 3:45pm, and you can keep rate_limits (usage percentage and reset time for the 5-hour and 7-day windows) on your status line. 2) Web/desktop app: Settings → Usage shows your plan, remaining usage, and the weekly reset date; in the desktop app, the usage ring next to the model picker shows it too. 3) API users: the Console Usage / Limits pages and the anthropic-ratelimit-* response headers. The Session block in /usage shows an estimated cost computed from token counts. Note that /status does not show your allowance; it shows which account and credential you are connected with (see Section 6).

A habit that pays off

Run /usage once before heavy work to know your balance and reset date. In a week where your weekly cap is running low, build around Sonnet from the start so you keep Opus headroom for when it matters.

6. Subscription limits vs API limits

They are easy to confuse, but the subscription (Pro/Max) limits and the API limits are entirely different systems. Knowing the difference makes the switch decision fast when it counts.

AspectSubscription (Pro / Max)API (pay-as-you-go)
Unit of limitTotal per time window (5-hour + weekly, plus per-family caps)Per-minute throughput (RPM / input + output tokens per minute) and a monthly spend cap per usage tier
What you seeYou've hit your session limit · resets 3:45pm and similarRequest rejected (429) and similar
When you hit itBlocked until reset (you can continue with usage credits)Over the throughput limit you get 429; wait the retry-after seconds and continue. At the monthly spend cap, usage pauses until 00:00 UTC on the first of next month
How to raise itUpgrade plan, usage creditsYour org moves up usage tiers (Start, Build, Scale, and so on) automatically with usage history; you can also request higher limits
Best forPersonal chat, day-to-day codingAutomation you cannot stop, large batches

The point: the subscription stops you by time window, while the API has no 5-hour or weekly window. So for deadline work you truly cannot stop, switching to an API key is the standard move. After switching, run /status to confirm the active credential. An approved ANTHROPIC_API_KEY left in your environment routes requests through that key even when you meant to use your subscription. Conversely, if you see Credit balance is too low while you think you are on your subscription, that is a sign a Console API key is in use. How to fix it is covered in Your credit balance is too low to access the Anthropic API: What It Means and How to Fix It. For API details, see the official rate limits page.

7. Prevention checklist

An operating checklist to stop "running out when it matters."

(1) Default to Sonnet and switch to Opus with /model only for the hard parts (preserve the Opus weekly cap). (2) Keep context light with frequent /compact / /clear. (3) Check your balance and reset date with /usage before heavy work. (4) Trim unneeded MCP and auto-loops; attach only the files you need. (5) On deadline days, have pay-as-you-go API ready (so you do not stall when the subscription runs out). (6) If you are chronically short, consider upgrading the plan or moving that workload to the API.

Summary

Claude Code's You've hit your session limit · resets 3:45pm (the old wording was Claude usage limit reached) is not an error — it is how subscription usage limits work. The message names the allowance that ran out: session = the rolling 5-hour window, weekly = the weekly window (both shared by all models, so switching models does not help), and Opus / Sonnet = a cap for that family only. Because Claude Code and the Claude apps share the same plan allowance, they can run out faster together.

The biggest consumer is model choice (Opus is the largest), then context size, long continuous runs, and subagents/MCP. When you hit the cap: for an Opus/Sonnet cap, A: switch models; for a session limit, C: wait for the reset (automatic from v2.1.234); if you cannot wait, D: pay-as-you-go API / E: usage credits or upgrade. B: trimming context makes the next window last longer. See your balance with /usage and Settings → Usage. And since the exact numbers get revised over time, do not memorize them — confirm in the live official view. Related: token saving and extra costs, Opus/Sonnet/Haiku pricing, Claude Code error roundup.

FAQ

Q. Is "You've hit your session limit" a bug? I am paying for this.
A. It is by design, not a bug. Pro / Max and other subscriptions are not "unlimited" — there are usage caps per 5-hour window (session) and per week (weekly). Even as a paying user, once you exceed what that allowance covers, you are paused temporarily, and access returns at the resets time shown. Note that Claude Code and the Claude apps share the same allowance, so using both drains it faster.

Q. When does it reset? It said "resets 3:45pm."
A. For a session limit, that is the reset time of the 5-hour window (your local time). A weekly limit carries a day or date, as in resets Mon 12:00am, and can be days away. You can check each reset in /usage or under Settings → Usage. If even the weekly allowance is gone, your options are to wait, use usage credits, switch to pay-as-you-go API, or upgrade.

Q. What is different about "Claude usage limit reached"?
A. It is the older wording of the same usage limit. In reports on the official repository, 2025 shows Claude usage limit reached. Your limit will reset at …, from around December 2025 You've hit your limit · resets …, and from around May 2026 the allowance-specific You've hit your session limit and its siblings. If you still see the old wording, updating with claude update tells you which allowance you hit and gives you auto-continue from v2.1.234.

Q. Why do I hit the limit so fast?
A. The biggest factor is model choice. Opus burns through the allowance far faster than Sonnet. On top of that, large context, long continuous runs, and heavy use of subagents or MCP push consumption up. Usage counts against the session and weekly allowances at the same time, so sustained heavy work such as parallel runs can exhaust the weekly allowance early too. Dropping routine work to Sonnet with /model and trimming context with /compact alone makes a big difference.

Q. How do I keep going right now without waiting?
A. (1) For You've hit your Opus limit / Sonnet limit, switch to a model outside that family with /model (this does not help with session or weekly limits), (2) turn on usage credits with /usage-credits (continue past the included allowance at standard API rates), (3) switch to a pay-as-you-go API key (no 5-hour or weekly window), (4) upgrade your plan with /upgrade. For deadline work, having pay-as-you-go API ready in advance is the safe play.

Q. Can I check how much I have left?
A. Yes. In Claude Code, /usage shows how much of each allowance you have used, when each resets, and a breakdown by skill, subagent, and MCP server; putting rate_limits on your status line keeps it in view. In the web/desktop app, Settings → Usage shows your plan, remaining usage, and the weekly reset date. Checking once before heavy work lets you avoid hitting the cap.