When does the Claude usage limit reset?
If you use Claude Pro or Max all day, you have probably seen "limit reached, resets at 14:00" right in the middle of your work. This guide explains how the reset is timed, how to see your own reset time, and how to stop waiting the full 5 hours.
Short answer: the session limit resets 5 hours after the first message of a window. If that first message is yours at 9:00, it resets at 14:00. If a window was already running since 6:00, it resets at 11:00.
How the 5-hour window works
- A window starts with your first message after the previous one has ended. It does not start at a fixed clock time. (Claude help center)
- Everything you do in that window counts toward one limit: Claude on the web, the desktop and mobile apps, and Claude Code all share it.
- When the window ends, the session limit resets fully. The next message starts a new window.
- There is also a separate weekly limit. Moving your 5-hour windows does not change it.
How to check your reset time
- Claude Code: run
/usage. It shows the current session and weekly usage, each with its reset time. - claude.ai: open Settings and look at the usage section.
- claude-warmup: run
claude-warmupin a terminal. It prints the same numbers as progress bars, with "resets 11:00 (in 2h 17m)".
Why your first message costs you
If no window is running when you sit down, your first message starts a fresh 5-hour clock. Hit the limit early and you wait out nearly the whole 5 hours. This happens every time you come back after a break longer than the last window: in the morning, after lunch, in the evening.
Keep a window running all the time
If a new window starts the moment the last one ends, a window is always already running when you sit down. Part of its 5 hours has passed, so the next reset is closer. With windows chained from 6:00:
- Windows run 6:00 to 11:00, 11:00 to 16:00, 16:00 to 21:00.
- Start at 9:00: the next reset is at 11:00, not 14:00.
- Start at 13:00 after lunch: the next reset is at 16:00, not 18:00.
On average the next reset is about 2.5 hours away instead of 5.
You can do this in three ways:
- By hand. Send a short message whenever a window ends. Free, but nobody can keep that up all day.
- With a fixed scheduled job. A cron job that runs
claude -p hi --model haikuat fixed times. Real windows start whenever you first type, so fixed times drift from them, firing while a window is open or leaving gaps. Hosted runners also need your token copied into their secrets. - With claude-warmup. It checks every 5 minutes with the local
/usagecommand (0 tokens) and sends one tiny haiku message only when no window is open, so a new window starts right after the last one ends. It runs on your own machine or server and never reads your credentials.
Set it up with claude-warmup
You need Node.js 18+ and the Claude Code CLI, logged in with Pro or Max.
npm install -g github:jungtaejoon/claude-warmupclaude-warmup installclaude-warmup config hours 06:00-23:00The last command sets the hours to keep windows running. If your computer is not on all day, run it on a free always-on server instead. See the server setup.
Things to keep in mind
- This does not give you more usage. It only changes when the resets happen.
- The warm-up message itself uses a tiny amount of the new window.
- Your weekly limit still applies.