Practical guide

Claude usage is a budget, not a message counter

Claude usage is governed by several overlapping budgets. Your available capacity depends on the model, context length, effort level, tools, and task complexity—not simply on how many prompts you send.

The first diagnostic step is always /usage. Check both the current session and weekly figures before changing accounts, regenerating keys, or upgrading plans.

1. Separate usage limits from context limits

These are different problems.

A usage limit controls how much work your account can perform during a time window. A context limit controls how much information Claude can handle in one conversation.

A long coding session can consume usage even when the number of user messages is small. Large files, repeated tool calls, automatic retries, long outputs, and high-effort reasoning all increase consumption.

Claude Code users commonly see messages such as:

You’ve hit your limit
Usage limit reached

A subscription may also have a rolling session limit and a longer weekly limit. Waiting for the short window to reset does not necessarily clear a weekly limit.

2. Do not trust the surface error blindly

One particularly misleading case looks like this:

API Error: Rate limit reached

The web interface may still work. The Usage page may show only 46% weekly usage, while Sonnet only shows 0%. Restarting the CLI, logging in again, and opening a new session may change nothing.

The hidden cause can be the selected model rather than exhausted account capacity.

For example, this configuration is not equivalent to ordinary Sonnet:

{
  "model": "sonnet[1m]",
  "effortLevel": "auto"
}

The long-context variant may send the request through a different entitlement path. The underlying response can be:

429 rate_limit_error: Extra usage is required for long context requests.

The CLI may then simplify it to:

API Error: Rate limit reached

That is why the visible message can suggest a quota problem even when the normal usage bars still have room.

Check authentication first:

claude auth status

A healthy subscription login may return:

{
  "loggedIn": true,
  "authMethod": "claude.ai",
  "apiProvider": "firstParty",
  "subscriptionType": "max"
}

If authentication is valid, test the ordinary model path:

{
  "model": "sonnet",
  "effortLevel": "auto"
}

In the reported case, the same short request immediately returned:

OK.

The important change was not the account, the auto effort setting, or the number of skills. It was removing [1m].

3. Match the model to the job

Using the strongest model for every task is an expensive default.

Use a lighter model for quick confirmations and simple transformations. Use Sonnet for regular coding, editing, and iterative work. Reserve Opus for architecture, difficult debugging, and decisions where a failed attempt costs more than additional usage.

The practical switch is:

/model

A common warning is:

Approaching Opus usage limit · /model to use best available model

If the limit is model-specific, switching models can keep the task moving. If the message refers to a shared session or weekly limit, switching models will not restore access.

Do not confuse these cases.

4. Make usage visible before it becomes a failure

The desktop interface exposes usage under:

Settings → Usage

For CLI users, a custom status line can show the model, context, and usage limits:

/statusline show model name, usage limits and length limits with progress bars

The useful signals are:

A warning around 90% is not the same as a complete lockout. It is the point at which a long task becomes risky. Break the work into smaller sessions before the final part of the task depends on one uninterrupted run.

5. A safer operating routine

  1. Run /usage.
  2. Run /context if the project contains many files or tools.
  3. Use Sonnet unless the task genuinely requires Opus.
  4. Start a fresh session for unrelated work.
  5. Avoid leaving a 1M-context model selected by accident.
  6. If the error says Rate limit reached, inspect the model and debug output before regenerating credentials.
  7. If the error names a weekly or session limit, wait for the stated reset or use an officially available usage-credit option.

The most useful mental model is simple: Claude usage is a shared, changing budget affected by the shape of the work. Diagnose the budget type first. Then change the model, context, or payment path that actually caused the block.