ChatGPT's rolling message window, explained
Until August 2026, ChatGPT Plus ran a 3-hour rolling window of roughly 160 messages, starting from your first message of each cycle. On 2026-08-06 OpenAI removed message caps from text chats on every plan, so the window no longer applies to regular conversations. Here is what changed, what is still limited, and how the rolling math worked.
The short answer
As of 2026-08-06, the 3-hour rolling window no longer applies to text chats. OpenAI removed message caps from text conversations on every ChatGPT plan - Plus and Pro now run on GPT-5.6 Sol, and Free and Go on GPT-5.6 Luna, with no message counter for regular chat. Until then, Plus gave you roughly 160 default-model messages per rolling 3-hour window from your first message of each cycle. Separate allowances remain for images, file uploads, voice, Deep Research, and Agent mode, and since 2026-08-26 ChatGPT Work and Codex sessions on Plus run on a rolling 5-hour limit.
What a rolling window actually is
A rolling window is the shape every remaining ChatGPT allowance uses. On Plus the one you meet in practice is the 5-hour Codex and ChatGPT Work window, restored in August 2026; alongside it runs an independent weekly allowance. Per OpenAI's help center article on GPT-5.x in ChatGPT, the plan is designed for high-volume use, and a rolling window is the mechanism that keeps access fair across all users.
The allowance is a request count inside a rolling time window, not simply a hard time limit. Think of it as a budget that renews every 5 hours: you can spend it all at once, or stretch it across the full window - either way, it resets 5 hours after your first request of the current cycle.
The key point that surprises most new Plus users: there is no built-in usage page in ChatGPT. Unlike Claude, which shows your session percentage and reset time at Settings > Usage, ChatGPT gives you no visibility into how many messages remain in your current window. You find out you have hit the cap by hitting it. This is the primary reason Plus users look for external trackers - the information simply is not surfaced before the wall.
The rolling-window math
The rolling anchor is what most users get wrong. The 5-hour clock starts from your first request of the cycle - not from when you exhausted the budget.
The rolling trap catches people when they hit the cap mid-morning. Someone thinks: "I ran out at 12:30 AM, so my limit resets at 2:30 PM - three hours from now." But the reset clock started at 10:00 AM when they sent their first message. The window closes at 1:00 PM - 1.5 hours sooner than expected. Misreading the anchor is the single most common reason Plus users wait longer than they need to.
ChatGPT does give you the remaining wait time in the error toast - something like "You can send more messages in 1 hour, 22 minutes." That relative time counts down from the first-message anchor. Trust that number, not your own arithmetic from when you hit the cap.
| First message | Budget exhausted | Window expires | Wait time |
|---|---|---|---|
| 10:00 | 10:05 (used them all at once) | 15:00 | 2h 55m |
| 10:00 | 11:00 (1 hour in) | 15:00 | 2h 00m |
| 10:00 | 12:30 (2.5 hours in) | 15:00 | 1h 30m |
| 10:00 | 12:45 (2.75 hours in) | 15:00 | 15m |
The earlier you exhaust the budget, the longer the wait. The later you exhaust it, the shorter the remaining window - because the 5-hour clock has been running the whole time, regardless of whether you were using ChatGPT or not.
What counts against the 5-hour window
The Plus 5-hour window covers Codex and ChatGPT Work usage across your account. These all draw from the same pool:
- Messages on chatgpt.com - every message you send and receive on the web interface.
- Mobile apps - iOS and Android ChatGPT apps share the same pool as the web app.
- ChatGPT macOS desktop app - separate app, same account, same pool.
- Every surface - web, the mobile apps and the macOS desktop app all read the same per-account budget. Switching between them does not give you a fresh one.
- Codex sessions tied to your ChatGPT account - agentic coding tasks that run multiple steps burn through the budget at the same rate as regular messages. A Codex run that fires 10 tool steps looks like 10 messages to the cap.
- Operator - automated sequences triggered via Operator draw from the same pool.
- File uploads - uploads have their own allowance, separate from the 5-hour window. Each upload processed into a conversation also makes later requests in that thread heavier, so uploads compound the drain on whatever budget you are spending.
What does not count against it
Two common points of confusion about what shares the pool:
- Ordinary text chat does not count against it. Since 2026-08-06 text chat has no cap at all, on any plan. You can exhaust the 5-hour Codex window and carry on chatting normally.
- Images, uploads, voice and Deep Research have their own allowances. Each is independent of the 5-hour window and of the others.
This separation is what makes the limits survivable. Exhausting the 5-hour Codex window costs you agentic coding for a few hours, not the ability to use ChatGPT. The full mechanics of all three limit layers are covered in how ChatGPT's limits really work in 2026.
What does not reset the window
If you have hit the cap and are waiting for the reset, none of these shortcuts work:
- Logging out and back in. The cap is enforced server-side at the account level, not in the session.
- Starting a new chat. New conversations do not get a fresh message budget. You have one pool per account, not one per chat.
- Switching from chatgpt.com to the mobile app or to the macOS desktop app. They all read from the same per-account state.
- Switching from a Custom GPT to the main interface. Same pool.
- Refreshing the page.
- Waiting until midnight. The window is rolling and anchored on your first message. No calendar boundary resets it.
The only mechanism that resets the window is the 5-hour clock completing from the time of your first request. The error toast tells you the remaining wait; that number is the ground truth.
Watch your ChatGPT window live in your Mac menu bar.
tokn.watch reads your existing ChatGPT session and shows your remaining message count and reset countdown at a glance - no page load, no guessing. Free, and it also tracks your Claude session and weekly budget if you use both. How to connect your ChatGPT account.
DOWNLOAD FREEHow firm are the published numbers?
The published ranges for GPT-6 Astra in Codex and ChatGPT Work are roughly 5-45 requests per 5 hours on Plus and Business Standard, 25-225 on Pro at $100 and 100-900 on Pro at $200, with Business Premium exempt from the 5-hour gate. The ranges are wide on purpose: a request's cost depends on the work it does, so a long agentic run spends far more than a short one.
OpenAI has adjusted these numbers without notice in the past, both upward when capacity expanded and downward during heavy usage periods. Treat the top of a range as an optimistic ceiling for planning, not a guarantee. If you run out sooner than the range suggests, your requests are simply costing more than the cheapest ones.
"Limits for Plus are designed to provide a great experience for all ChatGPT users. We periodically adjust these limits based on usage and capacity." OpenAI, ChatGPT Plus documentation (paraphrased)
The 5-hour window vs the weekly allowance: how they interact
Most Plus users who do analytical or coding work will eventually hit both caps. Understanding the interaction prevents confusion when one resets and the other does not.
| Cap | Model | Budget | Window |
|---|---|---|---|
| 5-hour window | Codex, ChatGPT Work | ~5-45 requests on Plus | Rolling 5h from first request of cycle |
| Weekly allowance | Codex, ChatGPT Work | Plan dependent | Rolling 7 days from first request |
| Media allowances | Media allowances | Separate daily limit | Rolling 24h |
The weekly allowance is the one heavy users hit without expecting it, because it accumulates quietly across the week while the 5-hour window keeps resetting in front of them. When the weekly allowance runs out, waiting for the 5-hour window to roll over does not help: the weekly one is what is stopping you, and it does not lift until its own seven days complete.
The transparency gap: ChatGPT vs Claude
The most significant practical difference between ChatGPT and Claude for users who care about caps is visibility. Claude gives you a Usage page at Settings > Usage that shows each cap's percentage consumed and the exact reset timestamp - you can check it any time before hitting the wall. Claude Code has the /usage command for the same information in the terminal.
ChatGPT has no equivalent page. There is no percentage display, no countdown timer, no "X messages remaining" anywhere in the interface while a window is active. The only moment OpenAI communicates the cap is when you hit it - the error toast appears and shows the remaining wait time as a relative countdown. Once you dismiss that toast, the information is gone until you hit the cap again.
The practical workaround most Plus users land on is manual counting. The more structured workaround - and the one that scales to heavy use - is a passive menu bar monitor that reads the session state and surfaces the window continuously in your peripheral vision.
Frequently asked questions
How does ChatGPT Plus's 3-hour rolling window work?
(Retired: OpenAI removed text-chat message caps on 2026-08-06, so this window no longer applies to regular conversations.) The window started the moment you sent your first message of a new cycle. Every default-model message you send in the next 3 hours draws from the same budget of roughly 160 messages. When the budget is exhausted before 3 hours are up, ChatGPT blocks further messages until the full 3 hours have elapsed from that first message. If you never exhaust the budget, the window quietly expires after 3 hours and a fresh cycle begins with your next message.
Does ChatGPT reset at midnight?
No - and since 2026-08-06 there is no text-chat reset to wait for at all, because OpenAI removed message caps from text conversations. Under the old system, Plus used a rolling 3-hour window starting from your first message of each cycle, not from midnight. If you sent your first message at 11:00 PM, the window closes at 2:00 AM - not at midnight. Two users on the same Plus plan can have completely different reset times because the anchor is their own first message, not any fixed clock time.
How many messages does ChatGPT Plus allow per 3 hours?
Since 2026-08-06 there is no message cap on text chats at all. Before that change, the widely-reported figure was around 160 messages every 3 hours on the GPT-5.x default model. OpenAI does not publish a precise number and has changed it without notice in the past - treat 160 as a working ceiling, not a contract. File uploads have a separate sub-cap of roughly 80 per 3-hour window. Messages using the Thinking reasoning model do not count against this cap; they draw from a separate weekly pool.
What counts against my ChatGPT 3-hour message cap?
(Retired: OpenAI removed text-chat message caps on 2026-08-06.) All default-model messages on the Plus plan counted against the same 3-hour pool: messages on chatgpt.com, the ChatGPT mobile apps, macOS desktop app, Custom GPT conversations, Codex sessions tied to your ChatGPT account, and messages via Operator. Image generation has its own separate daily cap. Thinking model messages also have their own separate weekly cap.
What does not reset the ChatGPT 3-hour window?
(Retired: OpenAI removed text-chat message caps on 2026-08-06.) Logging out, starting a new chat, refreshing the page, switching from a Custom GPT back to the main interface, or switching devices did not reset the 3-hour window. The cap is enforced server-side on your account. The only mechanism that resets it is the 3-hour window completing from the time of your first message of the cycle.
How is the ChatGPT 3-hour window different from the Thinking weekly cap?
(Retired: both were removed on 2026-08-06, along with manually-selected Thinking itself.) They were two completely separate budgets. The 3-hour window covered the default GPT-5.x model and reset every 3 hours from your first message of the cycle. The Thinking weekly cap covered the Thinking reasoning model and reset every 7 days from your first Thinking message of the current week. Using up your 3-hour budget does not touch the Thinking cap, and vice versa. You can hit both on the same day.
How do I know when my ChatGPT Plus window resets?
(Retired: OpenAI removed text-chat message caps on 2026-08-06; reset times now apply only to remaining allowances such as images and Codex sessions.) Under the old system, ChatGPT only told you when you hit the cap. The error message shows something like "You can send more messages in 1 hour, 22 minutes." That relative time is the only signal OpenAI provides. There is no Settings > Usage page in ChatGPT the way there is in Claude - you cannot see your current message count or reset time before you run out. A menu-bar app like tokn.watch reads your session and surfaces the remaining count in your Mac menu bar so you see the window draining instead of finding out at the wall.
Does the ChatGPT 3-hour rolling window apply to the mobile app?
(Retired: OpenAI removed text-chat message caps on 2026-08-06.) The Plus 3-hour message cap was account-level and covered all official ChatGPT surfaces: the web app, iOS app, Android app, macOS desktop app, Custom GPTs, and Codex. Switching from the web app to the mobile app mid-session does not give you a fresh budget. It is the same pool on the same account.
See your ChatGPT window before it runs out.
tokn.watch sits in your Mac menu bar and shows your remaining message count and reset countdown live - always visible, no page load. Free, no account, no API key. Also tracks your Claude session and weekly budget if you run both.
DOWNLOAD FREELast updated: 2026-09-20. On 2026-08-06 OpenAI removed message caps from text chats on every ChatGPT plan, retiring the Plus 3-hour rolling window this article originally described, and on 2026-08-26 a rolling 5-hour window returned for Codex and ChatGPT Work on Plus alongside an independent weekly allowance. On 2026-09-20 the body was rewritten around the windows that actually exist: an earlier pass had corrected the summary and the FAQ but left the diagram, the tables and the worked examples still describing the retired cap as current. The article also moved from /blog/chatgpt-3-hour-rolling/ to this URL, because the old slug named a mechanic that no longer exists. Historical detail about the 3-hour cap is kept and labelled.
Sources: TechCrunch - ChatGPT brings unlimited text chats to free users (2026-08-06); OpenAI - GPT-5.6 Sol, Terra and Luna in ChatGPT; Northflank - ChatGPT usage limits explained (2026); CustomGPT.ai - ChatGPT Plus limits 2026.