Skip to content

Limits

Usage rings, the limits card, how limits are read, memory and CPU on this Mac.

Last updated

Usage rings#

The header shows a ring per app: how much of the plan's tightest limit is used right now, whichever of the 5-hour and weekly windows is fuller. The ring turns orange at 50% and red at 80%.

Hover or click the rings for the limits card:

  • Claude: the current session (5-hour) window, the weekly window (all models), and the weekly window for specific models, each with its reset time.
  • Codex: each of its windows, with reset times and plan.
  • On this Mac: how much memory and CPU the apps use (below).

On this Mac#

Under the plan limits, the card shows how much of this Mac the apps use, like Activity Monitor:

RowWhat it counts
Claude appthe Claude app and every process it started (its helpers, and any claude it runs)
Codex appthe Codex app and every process it started
PairbarPairbar itself
Agents and workflowsthe tools Pairbar started (a chat you started from Pairbar, a workflow step, gh, git); only while something runs

Each row shows the memory (Activity Monitor's "Memory" column: "1.24 GB", "86 MB"), the CPU (percent of one core, so a busy app can pass 100%) and a bar against the Mac's total memory. The CPU shows "—" for the first 2 seconds, until there are two readings to compare. An app that's installed but not open says "Not running"; one that isn't installed has no row. The last line is the memory the whole Mac uses ("Memory used on this Mac: 18.2 of 32 GB"), with "pressure high" or "pressure critical" when macOS is short of memory.

The numbers are read every 2 seconds, only while the card is open; nothing is measured when it's closed. Only your own processes are counted, and nothing is stored or sent.

Where the numbers come from#

The plan limits:

  • Claude, in this order, without starting claude in the normal case:

    1. Claude Code's status line, when you've installed live status for Claude: Install runs the status line through Pairbar's helper, which keeps the 5-hour and weekly percentages Claude hands it (Pro and Max plans, after a session's first answer). Your own status line, if you have one, looks exactly the same.
    2. The Claude app's own record of the 5-hour window, when you use the Claude app. The weekly windows from an earlier reading stay until they reset.
    3. claude -p /usage, the same numbers Claude's own usage page shows, only as a last resort: when neither of the above has anything from the last 6 hours. It uses no chat turn and costs nothing. It's checked at most every 15 minutes.

    A reading counts as current for 15 minutes (a minute when you open the card). Without the claude tool and without either reading, the card says so and links to install it.

  • Codex: the newest rate-limit report in Codex's local session files.

The status line runs in Claude Code in a terminal; the Claude app's own Code tab may not run it, which is when the Claude app's record helps. The status line doesn't have the weekly limits for specific models, so the card keeps those from the last /usage reading until they reset.

Claude's settings stay yours#

When Claude Code is updated, the first claude to start updates ~/.claude/settings.json once for the new version (for example "model": "opus" becomes "opus[1m]"), and never again. Pairbar leaves that to your own Claude: before it would start claude -p /usage, it checks whether that claude would make this update (it compares migrationVersion in ~/.claude.json with the version's own, which it learns once per Claude Code version by running claude plugin list in an empty temporary home, offline). If it would, Pairbar doesn't start it, keeps showing the last reading, and the card says "Claude Code was updated: the limits update once you've used it". Once you've used Claude Code, the check runs again as before.

Pairbar never puts back or edits anything Claude changes in its settings. Chats, follow-ups, forks and workflow steps you start are your own Claude sessions.

Where limits are used#

  • New chats: the Claude-or-Codex suggestion avoids an app without enough left for a typical chat.
  • Workflows: "Skip under N%" skips scheduled runs when the limit is low.