How to check your Claude Code usage limits
On a Pro, Max or team plan, Claude Code runs against two rolling windows: a 5-hour session limit and a weekly limit. Type /usage in Claude Code to see both, with reset times. Here’s what the numbers mean and how to keep them in view.
Updated
The quick answer: /usage
In any Claude Code session, type:
/usage
On a subscription plan this shows your plan usage bars: how much of the current 5-hour session and the weekly limit you’ve used, and when each resets. Below that it breaks down what counted against your limits (skills, subagents, MCP servers, scheduled loops) with suggestions to cut usage. Press d or w to switch that breakdown between the last day and the last week.
/cost and /stats are aliases for the same screen. /usage runs immediately even while Claude is working, so you don’t have to wait for the turn to end.
The Session block at the top shows a dollar figure. On Pro, Max and Ultra that number is a list-price estimate for interest only; your subscription covers it.
The two windows
| Window | How it works | Message when you hit it |
|---|---|---|
| Session (5 hours) | Starts with your first message and resets 5 hours later | “You’ve hit your session limit” |
| Weekly (7 days) | Caps total use across the week; some plans also have a per-model weekly cap | “You’ve hit your weekly limit” or “You’ve hit your Opus limit” |
The session window is what most people run into during a busy afternoon. The weekly one bites heavy users of agents and subagents, because every subagent and parallel task draws on the same allowance.
On the web
The same numbers are on claude.ai under Settings › Usage (claude.ai/settings/usage). That page also shows your usage credits, if you’ve turned them on to keep working past the limit. From Claude Code, /usage-credits opens it.
When you hit the limit
Run /rate-limit-options. It offers to wait and continue the interrupted task automatically when the window resets, to use usage credits, or to upgrade. Recent versions open that menu on their own when a request is blocked.
Keep the limits in your status line
If you’d rather not type /usage, a status line script can show the percentages all the time. Claude Code passes a rate_limits object to the script for Pro, Max and Ultra subscribers, after the first response in a session.
Save this as ~/.claude/statusline.sh and make it executable with chmod +x:
#!/bin/bash
input=$(cat)
five=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty')
week=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty')
reset=$(echo "$input" | jq -r '.rate_limits.five_hour.resets_at // empty')
[ -n "$reset" ] && reset=$(date -r "$reset" +%H:%M)
[ -n "$five" ] && printf '5h %.0f%% (resets %s) · week %.0f%%' "$five" "$reset" "${week:-0}"
Then point Claude Code at it in ~/.claude/settings.json:
{
"statusLine": { "type": "command", "command": "~/.claude/statusline.sh" }
}
resets_at is Unix time in seconds, which is why the script formats it with date -r. The script needs jq (brew install jq).
Why usage climbs faster than expected
A few patterns account for most surprise limits:
- Long sessions. Every request carries the whole conversation. A one-line question in a session that’s been open all day still costs the full context.
/clearbetween unrelated tasks. - Cache misses after a break. Coming back after the prompt cache expires reprocesses everything.
- Subagents and loops. Each runs its own requests.
/usageshows their share. - Several sessions at once. Two terminals running agents burn the 5-hour window twice as fast.
The /usage breakdown lists which of these applies to you, as a share of recent usage.
Seeing it in the menu bar
Stat Space’s Usage limits panel puts the same numbers in the Agents tab and on the pinned Agents card: remaining percent per window (5-hour, weekly, per-model weekly), the reset time, and a pace line such as “limit in ~40m” or “on pace”. It’s free and off until you turn it on in Settings › Agents. For Claude Code it asks Anthropic’s usage endpoint at most every 5 minutes with the sign-in Claude Code already stored, keeps the token in memory only and never refreshes it, and only while the Agents tab or card is on screen.
Next to the limits, each running session shows its context use, tokens per minute and an estimated cost, so you can see which one is eating the window. More on the Agents feature.
Questions
Does /status show my usage limits?
No. /status shows your Claude Code version, model, account and connectivity. Plan limits are in /usage, which /cost and /stats also open.
Does switching models get around the limit?
Not for the session or weekly limit, which covers all models. It does help after a model-specific message such as “You’ve hit your Opus limit”: switch with /model to a model outside that family.
Do claude.ai chats count against my Claude Code limit?
Yes. Subscription limits are shared between Claude on the web and desktop and Claude Code, so a long chat session uses the same allowance.
Why does /usage say “Showing last-known usage”?
The request for your plan limits failed, usually because the usage endpoint was rate limited. Claude Code shows bars it loaded in the last 60 minutes. Press r to retry.
Know what your Mac is doing, without adding to it.
Free, no account. Pro is $9.99 once for the first 100 buyers.