gfroy.com

Tokens, context and usage limits

TL;DR

Every request Claude Code makes sends the whole conversation again, plus everything your setup loads. Your subscription limits how much of that you can use every five hours and every week. Keep conversations short and your setup small.

How it works

What every request sends

The model reads and writes text in tokens: pieces of words, roughly four characters each. The context window is measured in tokens, and so is your subscription.

The model doesn’t remember anything between requests. Every time Claude Code sends it something, your message or the output of a command it ran, it sends the whole context again:

One task can take dozens of requests, because every command Claude runs is followed by another request with its output. Most of the repeated part comes from a cache and counts for less, but it still counts.

Usage limits

A subscription limits your usage in two windows:

Both are shared with the claude.ai chat and the desktop app. The model and the effort level matter too: a bigger model or a higher effort uses up the limits faster. Getting started says which one to pick for which task.

Two commands show where you are. /context shows what fills the current conversation. /usage shows how much of each limit you’ve used, and which skills, subagents and MCP servers it went to: look there when you run out early.

My take

Gotchas

Example

Say your setup takes 20k tokens, and a task grows the conversation to 80k over 30 requests. Each request sends everything so far, about 50k on average. That’s 1.5 million tokens read for one task, not counting anything Claude writes. A setup of 40k instead of 20k adds another 600k, on every task.