It was a weekday morning, and I had a dozen store listings open side by side. I'm an indie developer, and my wallpaper app was getting a new category; I wanted the category name to read naturally in every language the store supports. So I attached three PDFs of past review notes and worked through the translations one word at a time, all inside a single conversation. A little after eleven, a banner appeared under the sentence I had just sent: I had reached my usage limit, and it told me when I could resume.
My first reaction was confusion. I hadn't sent that many messages. Counting them on my fingers, it was maybe half of a normal morning. And yet — the number of messages had nothing to do with it.
If there's one thing I'd like to pass on, it's this: when that banner appears, the place to look is not your sent history. It's the two bars on the usage settings page, and the weight of the conversation you currently have open. Below are the three numbers I checked, in order, and the lines I drew once I understood them.
Telling the symptoms apart: which limit stopped me?
Claude has two limits that behave very differently: usage limits and length limits. The first is a budget — how much you can use over a period of time. The second is a container — how much information a single conversation can hold. Following the official help center, this is how I now tell them apart.
| What you see on screen | Which limit | How it recovers |
|---|---|---|
| "You've reached your usage limit" plus a resume time | Session limit (a five-hour window) | Wait for the time shown. A new conversation won't let you send either |
| A weekly limit with a reset day and time | Weekly limit | Wait for the seven-day reset |
| A message that the conversation is too long | Length limit (context window) | Start a new conversation and keep going |
The test is simple. Open a new conversation and try to send something. If it goes through, you hit a length limit. If it doesn't, you hit a usage limit. In my case the new conversation showed the same banner, so it was usage.
There was also something I had been ignoring. Usage is shared across every Claude surface — claude.ai, Claude Desktop, and Claude Code all draw from the same allowance. That morning, in another window, Claude Code was tidying up some old notification code in my healing-sounds app. I thought I had paused; the window next door was still paying out of the same wallet.
Number one: the two bars in Settings > Usage
The first place to look is Settings > Usage. On Pro, Max, Team, and seat-based Enterprise plans you'll find two progress bars there — the current session and the weekly limit — along with the time left in the session and the date the weekly limit resets.
I may be unusual here, but until I opened that page I had never really thought about a session as a unit. The five-hour window starts counting from your first message, so a message at nine in the morning opens a window that lasts until two in the afternoon. The resume time on my banner was exactly that boundary.
What matters on this page isn't the time remaining so much as the gap between the two bars. If, at eleven, the weekly bar has barely moved while the session bar is full, you didn't overspend this week — you did something heavy in the last few hours. That was precisely the shape of my morning.
Number two: how many turns, and how many attachments
Next I looked at the conversation that had stopped. Scrolling from the top, it ran past forty exchanges, with three PDFs near the beginning and two spreadsheet screenshots partway through.
This was where my assumption fell apart. Every time you send a message, Claude re-reads the whole conversation so far before answering. The sentence I sent on the fortieth turn didn't travel alone; it carried three PDFs and thirty-nine turns of discussion with it. My message count was low, but the weight of each message had grown to something the first message of the morning couldn't be compared with.
The help center says the same thing in plainer words: long conversations that trigger automatic context management (the moment Claude is "organizing its thoughts") consume more of your usage, and if you're near the limit you should start a new chat. I read that paragraph after I had already been cut off.
To stop guessing at the size of my attachments, I now count pages before I upload. This short script runs on the Python that ships with macOS once you add a single library.
# List candidate PDFs by page count, largest first
# What it solves: knowing the total before you hand over "just three" PDFs
from pathlib import Path
from pypdf import PdfReader # pip install pypdf
folder = Path.home() / "Documents" / "store-review-notes"
rows = []
for pdf in folder.glob("*.pdf"):
try:
pages = len(PdfReader(pdf).pages)
except Exception: # keep going past a broken file, mark it -1
pages = -1
rows.append((pages, pdf.name))
for pages, name in sorted(rows, reverse=True):
print(f"{pages:>4} p {name}")
print(f"total {sum(p for p, _ in rows if p > 0)} pages")The reason it prints a total is that the total is the number that matters, not the thickness of any one file. My three PDFs came to nearly a hundred pages. If those hundred pages were being re-read on every one of forty turns, running dry before lunch isn't mysterious at all.
Number three: the model and effort shown next to the send button
The third number sits right next to the send button: the model name and the effort level. Effort controls how much thinking goes into each response. Higher effort gives more thorough answers, but it uses more tokens and you reach your limits faster. The help center positions Low and Medium for routine work, High as the balance of quality and speed, and xhigh and Max for long coding sessions and deep analysis.
That morning I was still on High, left over from an implementation discussion the day before, and I was using it to compare translations. Medium would have been plenty for that. On Opus 5.5 and Fable 5.1, thinking can't be switched off at all, so lowering effort is the only lever you have. Just noticing that I was still on the heavier setting changed how I used the next window.
Connected tools and web search work the same way; the help center is blunt that they're token-intensive. I didn't need web search to compare translations, but I hadn't turned it off from the previous conversation.
The fix: three lines I drew
Once I could tell the three numbers apart, I changed three things from the next window onwards.
First, I set a signal for switching conversations. If a chat has three or more attachments and I see "organizing its thoughts," I ask for a one-paragraph summary and move to a new conversation. The summary keeps only three items: the conclusion so far, the open questions, and the names of the files I'll need to hand over next.
Second, documents I refer to repeatedly now live in a project. Project knowledge is cached, and reused content counts less against your limits than new content. Pasting the same PDFs into a fresh chat every time, as I had been doing, was the most expensive way to pay.
Third, I switch effort by the kind of work. Comparing translations or tidying copy gets Medium; reading a spec or discussing an implementation gets High.
What you save isn't the number of messages you send; it's the amount of history each message has to carry. Since I drew that line, the same morning's work fits inside half a window.
When that isn't enough: the next move
Some days I still reach the limit after checking all three. I have an order for those days too.
First, I look at Settings > Usage for a "Reset for free" button. Eligible plans are occasionally given a limit reset, and using one puts either the session or the weekly limit back to full immediately. It can't be undone once used, it may carry an expiry date, and the button appears only on the web and in Claude Desktop — not on mobile or in Claude Code in a terminal — so you may need to open a browser for it.
Second, if the work can't wait, there are usage credits. Enable them in Settings > Usage, prepay, and when you hit the limit you can keep working at standard API rates. Setting a monthly cap with "Adjust limit" keeps that from becoming a worry. I keep mine deliberately small and treat the moment it kicks in as a sign to review how I'm spending the week.
And some days I use neither and simply wait. The gap before the resume time is a good moment to trim the PDFs by page count and write the one-paragraph summary, so the first message of the next window starts light.
In unattended scheduled tasks, this "amount re-read every time" piles up in a far less visible way. The record of counting how many times a single instruction file was re-read in one run, and trimming it, is in Before You Trim a Scheduled Task's Runbook, Count How Many Times It Gets Re-read.
So the next time the banner appears, I'd suggest opening Settings > Usage before your sent history, and checking which of the two bars is full. That one move is what made my mornings lighter.