Why do I hit my usage limit after just a few messages?
Every message re-sends the whole conversation.
You're on a paid plan. You've sent maybe 40 messages today, and then you get "You've reached your usage limit."
Yesterday you sent more than that and it was fine.
Each time you send a message, the app sends the whole conversation to the model again, from the very first message, with your new one at the end.
The model reads all of it from the top, then writes a reply.
Stateless: it keeps nothing between messages. Every reply starts from scratch by re-reading the transcript.
Message 1: it reads one page.
Message 2: two pages.
Message 40: forty pages.
If your messages are all a similar length, the 40th one takes about forty times as much reading as the first.
One Claude Code user analysed their own sessions and found that tool output (file contents, command results) was over 90% of what was being re-read.
Re-reading the same stack again and again would be expensive. So the system keeps a ready-made copy of what it has just read, which makes the next re-read much cheaper.
Prompt caching: keeping a recent copy of the conversation so re-reading it costs less. The copy only lasts a short while (minutes, sometimes up to an hour).
Leave a long chat for lunch, come back and carry on: the copy may have expired, and the whole stack gets read again at full price.
Anthropic's own help page lists:
Start a new chat when the topic changes. Carry over a short summary, not the whole thread.
Attach the section, not the whole document, if one section is all you need.
Use the smaller, faster model for simple jobs. Save the big one for the hard ones.
In Claude Code: start a fresh session between unrelated tasks.