TL;DR Open
/usage, presswfor the week and act on the top row, the one that weighs most. Pressfand Claude Code applies the ones it knows how to, showing you each change before making it.
Since v2.1.299, /usage flags four more things that eat your limit: max effort, workflows, the context every request carries before you type a word, and oversized tool results. And since v2.1.305 a warning is no longer a bare percentage: it is a row with the change that stops it, which the f key can apply for you.
Before, the /usage block told you 91% of your usage ran above 150k context and left you there. Now it tells you which file to trim.
What it looks like
Captured on v2.1.316, in the cloud session that wrote this tip, after pressing w:
What's contributing to your usage?
Approximate · sessions on this machine only
Last 7d · shares overlap
46% See what fills your context · run /context
39% Start fresh when you switch tasks · run /clear
23% Turn off Notion when you don't need it
MCP servers % of usage
Notion 23%
wmedia 10%
f to fix 1 of 3 · d to day · w to week
The top row is one of the four new warnings, always-on context: that session starts with over 40k tokens before the first prompt, and since no single part weighs enough to be named, the row sends you to /context. The share says how much of your usage the row applies to, not how much you save, and since one request can count toward several rows, the shares add up past 100.
The four warnings and their fixes
The row text comes from the v2.1.316 binary. A row only shows when its cause reaches 10% of your usage, and the screen shows five at most, heaviest first.
| Warning | When a request counts | Row you see | What f does |
|---|---|---|---|
| Max effort | It ran at max |
Switch from max to high effort · /effort high, or Save max effort for hard tasks if your session is no longer at max |
Runs the row's /effort, when no run precedes it |
| Workflows | A workflow agent made it | Save workflows for big tasks · 12 agents ran, mostly in ~/code/api; with ultracode on, Turn off ultracode · /effort ultracode off |
Nothing, except turning ultracode off |
| Always-on context | The main session starts with over 40k tokens before your prompt | Trim ~/code/api/CLAUDE.md · 49k tokens per request, or Turn off skills you don't use, Turn off MCP servers you don't use, Remove agents you don't use |
Claude trims or turns off, showing you each change first |
| Large tool results | A tool result over 10k tokens is still in context | Read logs/app.log in parts, Shorten the output of "npm test" or Ask <server> for smaller results |
Claude adds a rule to your CLAUDE.md for next time |
Two details from the code that explain what you will see:
- Always-on context names a culprit only when it weighs. Claude Code splits that startup load across
CLAUDE.md, skills, MCP and agents, and when one takes at least a quarter of it, the row names it. Otherwise it sends you to/contextwithSee what fills your context, as in the capture above. - A large result stops counting once it leaves the context. As soon as the context shrinks, when you compact for instance, that weight comes off. What costs you is dragging it along turn after turn.
How to use it
1. Open the week, not the day
/usage
It opens on the last 24 hours. Press w: the cap that locks you out for days is the weekly one, and one odd day points at the wrong culprit.
2. Start with the top row
It covers the most usage. If it is max effort, the fix is dropping to high and going to max only for the hard problem, as adjusting effort level explains. If it is a workflow, the lever is sizing it before you launch it.
3. Press f for the rows with an automatic fix
The footer says how many: f to fix 1 of 3 is one of three. Once the turn in progress ends, Claude Code runs the /effort commands of rows that carry one without run before it, and sends Claude a single prompt with a step for each row it knows how to fix, asking it to show you each change before making it. Rows ending in run /context or run /clear are yours to run.
4. Check back in a few days
The figures come from your local transcripts, so the row will not move until new sessions pile up.
Worth knowing
- Only the machine you open it on counts. Work on another computer or on claude.ai is left out; the figures are approximate.
- The same rows show in VS Code and in
/doctor. In the extension, in the Account & usage dialog. - With Remote Control connected there is no
f. Press it right as it connects and you getNothing was sent. Turn off Remote Control to use fixes. - The earlier warnings are still there: long context (
Start fresh when you switch tasks), cache misses (Compact before you step away), parallel sessions and subagent-heavy sessions.
Official docs: Manage costs effectively: plan usage breakdown
Requirements
- Claude Code v2.1.299 or later for the four warnings, and v2.1.305 for rows with a fix and the
fkey. - The breakdown shows on Pro, Max, Ultra, Team and Enterprise plans.