Know what is left of your AI plans before you hit the wall.

Claude, Codex, Copilot, Cursor and the rest each cut you off at a different point: a 5-hour session, a week, a month. Vitals shows how much is left of each, when it resets and whether you will make it there, for every account on this Mac, in the window and the menu bar.

Memory by Type
82%
in use
App 22.15 GB
Wired 5.67 GB
Compressed 24.54 GB
Cached 10.32 GB
Free 1.32 GB
Memory by App
59.25 GB
all apps
Google Chrome 21.23 GB
VS Code 8.17 GB
Terminal 3.86 GB
Safari 2.69 GB
Other 23.30 GB
Power by App
1.7 W
all apps
GitHub Desktop 427 mW
Google Chrome 367 mW
Zoom 145 mW
Terminal 86 mW
Other 650 mW
Now
27 %
Average today36%
Load3.41
User
19%
Your apps
System
8%
macOS
Cores
12
8 P4 E
Top App
Google Chrome
18.2%
AppCPU
Google Chrome
96 processes
–
Terminal
49 processes
–
Safari
16 processes
–
Docker
9 processes
–
Visual Studio Code
63 processes
–
Slack
13 processes
–
Figma
14 processes
–
Zoom
8 processes
–
In use of 64 GB
52.63 GB
Normal
Free11.37 GB
Swap0 MB
App
23.43 GB
Wired
5.37 GB
Compressed
23.82 GB
Top App
Google Chrome
20.59 GB
AppMemory
Google Chrome
96 processes
–
Visual Studio Code
63 processes
–
Terminal
49 processes
–
Safari
16 processes
–
Docker
9 processes
–
Slack
13 processes
–
Figma
14 processes
–
Zoom
8 processes
–
Free of 994.66 GB
479.72 GB
Used514.94 GB
Written today38.9 GB
Reading
737 kB/s
Writing
195 kB/s
Volumes
2
Macintosh HDBackup
Top App
Photos
121 kB/s
AppWriting
Photos
6 processes
–
Google Chrome
96 processes
–
Docker
9 processes
–
Visual Studio Code
63 processes
–
Xcode
22 processes
–
Mail
4 processes
–
Slack
13 processes
–
Music
5 processes
–
Downloading
12 kB/s
Today4.4 GB
Last 30 days212 GB
Uploading
419 kB/s
Last 7 Days
48.3 GB
Interface
Wi-Fi
en0
Top App
Safari
8 kB/s
AppDownloading
Safari
16 processes
–
Google Chrome
96 processes
–
Slack
13 processes
–
Zoom
8 processes
–
Music
5 processes
–
Mail
4 processes
–
Docker
9 processes
–
Notion
6 processes
–
Apple M2 Max
60 %
Average32%
Peak95%
Memory
1.69 GB
Average
32%
Peak
95%
Top App
Figma
35%
AppGPU
Figma
14 processes
–
Google Chrome
96 processes
–
Safari
16 processes
–
Zoom
8 processes
–
Visual Studio Code
63 processes
–
Xcode
22 processes
–
Slack
13 processes
–
Notion
6 processes
–
16-core Neural Engine
2 %
Average3%
Peak16%
Memory Traffic
79.9 MB/s
Average
3%
Peak
16%
Top App
Photos
3 connections
AppNeural Engine
Photos
6 processes
–
Xcode
22 processes
–
Safari
16 processes
–
Zoom
8 processes
–
Mail
4 processes
–
Notion
6 processes
–
Google Chrome
96 processes
–
On battery
64 %
Remaining2h 46m
Cycles412
Power Draw
12.6 W
Health
76%
Temperature
31°
Top App
Google Chrome
4.3 W
AppPower
Google Chrome
96 processes
–
Zoom
8 processes
–
Figma
14 processes
–
Slack
13 processes
–
Safari
16 processes
–
Visual Studio Code
63 processes
–
Docker
9 processes
–
Music
5 processes
–
Output
MacBook Pro Speakers
64%
AppStatusVolumeLevel
Music Playing 100%
Zoom Playing 80%
Google Chrome Playing 35%
Slack Silent Muted
Safari Silent 100%
Figma Silent 100%
Notion Silent 100%
Mail Silent 100%
3 connected
Lowest battery: AirPods Pro, left, 42%. Beats Fit Pro is paired but away.
42% Bluetooth Settings
DeviceKindBatteryLevel
AirPods Pro Headphones
Left 42%
Right 58%
Case 80%
Magic Trackpad Trackpad 67%
Magic Keyboard Keyboard 91%
4 dev servers are running but idle
Stopping them frees 1.37 GB and ports 3000, 4321, 4322, 8000.
Stop All…
storefront
9 processes
working
1.18 GB
storefront-web
node
4322 up 3 days, barely used
458 MB
scraper-api
python
8000 up 4 days, barely used
412 MB
marketing-site
node
4321 idle 2 hours
296 MB
billing-api
node
30009229 idle 45 min
204 MB
docs
node
5173
188 MB
ml-notebooks
python
8888
164 MB
design-tokens
node
6006 idle 20 min
121 MB
infra
3 processes
96 MB
auth-service
go
8080
74 MB
email-templates
node
3030 idle 3 hours
58 MB
0%
Claude
This week
On pace · 10% to spare
0%
Codex
5-hour session
Resets in 3h 12m
0%
GitHub Copilot
Premium requests
Runs out in 4d at this rate
0%
Cursor
This billing cycle
Resets in 12d 5h
Checkout flow tests Working Waiting for you
Claude Code · storefront · running 48 min
410 MB
Started · 4 Quit Session…
vitest command · 61% CPU 520 MB
node server · port 3,001 240 MB
Google Chrome for Testing browser 310 MB
mcp-server-fetch tool server 64 MB
Codex idle 48 min
docs · in Terminal · Nothing started
290 MB
4 containers in Docker
674MB
Lowest592.3 MB
Peak674 MB
By Container
postgres312 MB46%
rabbitmq206 MB31%
minio142 MB21%
redis14 MB2%
CPU
3.0%
most in postgres
Closest to Its Limit
rabbitmq
86% of 240 MB
Network
9kB/s
↓ 6 kB/s · ↑ 3 kB/s
Published Ports
6
5433567263799000+2
storefront 2 containers
Started together by Docker Compose · 2 ports · 2 running
1.9% 326 MB
postgres postgres:16
Up 5 hours
5433
1.6% 312 MB
redis redis:7-alpine
Up 5 hours
6379
0.3% 14 MB
api 1 container
Started together by Docker Compose · 2 ports · 1 running
0.9% 206 MB
rabbitmq rabbitmq:3-management
Up 3 hours
567215672 86% of 240 MB
0.9% 206 MB
minio minio/minio
Up 26 hours
90009001
0.2% 142 MB

The numbers are simulated: a web page cannot read your Mac, and should not.

01Plans

Every plan you pay for, on one tab.

Claude, Codex, GitHub Copilot, Cursor, Antigravity, Grok, Ollama and OpenCode each get a ring in their maker's colour with what is left inside it, for every account signed in on this Mac, so you stop checking eight dashboards.

  • Claude, Codex, GitHub Copilot, Cursor, Antigravity, Grok, Ollama and OpenCode
  • A ring per plan, in its maker's colour
  • Every account on this Mac, each Claude Code profile included
  • Asked the way the tool itself asks, with nothing else sent
62%Claude
38%Codex
71%Copilot
90%Cursor
54%Antigravity
23%Grok
80%Ollama
45%OpenCode
In its maker's colour What is left, inside the ring
02Limits

The session, the week, the month and the model, with their resets.

One plan can cut you off in four different ways. Vitals shows each window on its own, the 5-hour session, the week, the month and a model's own limit, with how much is left and exactly when it comes back.

  • The 5-hour session
  • The week and the month
  • A model's own limit, such as Opus this week
  • When each one resets, down to the minute
ClaudeMaxFour windows at once
5-hour sessionResets in 2 h 10 m
62% left
This weekResets Thu 09:00
41% left
This monthResets Nov 1
76% left
Opus, this weekResets Thu 09:00
29% left
The session, the week, the month A model's own limit
03Pace

Will you make it to the reset?

Vitals compares what you have used with how far through the window you are, and tells you plainly: on pace with 10% to spare, or runs out in four days at this rate. For Claude Code and Codex it counts the tokens too.

  • On pace, or running out first, in words
  • The tokens Claude Code and Codex used today and this week
  • Where they went, and which models took them
  • Counted from the logs the tools keep on your Mac
ClaudeThis weekOn pace · 10% to spare
Used59%Through the window70%
CopilotThis monthRuns out in 4 d
Used71%Through the window48%
Today1.2M tokensThis week8.4MOpus 71%Sonnet 29%
What you used, against how far along you are From the logs on your Mac
04Menu bar

A glance instead of a command.

Put any plan in the menu bar, a number after its maker's mark, with the 5-hour session beside it if you want it. Turn it on in Settings → Integrations; it stays off until you do.

  • A number per provider, after its mark
  • The 5-hour session beside it, if you want it
  • The dropdown's Agents tab has plans, tokens and sessions
  • Off until you turn it on in Settings → Integrations
FinderFile 62%· 5h 41% 38% 14:02
Integrations › In the Menu Bar
Claude
Codex
GitHub Copilot
Cursor
Show the 5-hour session beside it
A reading per provider, after its mark Off until you turn it on
Why it matters

AI usage limits, before and after

Every AI plan is a set of windows. Claude has a 5-hour session and a week, Codex its own, GitHub Copilot counts premium requests by the month, Cursor has a billing cycle, and a model can have a limit of its own on top. Each tool shows its own number somewhere, in a command, a settings page or a web dashboard, and none of them shows the others.

So you find out at the worst moment: mid-task, with the agent stopped and a message telling you to come back in two hours. Or you stop early, sure the week must be nearly gone, with a day of it left.

Vitals asks each maker the way the tool itself does, with the sign-in already on your Mac, and puts every plan on one tab: a ring with what is left, when it resets, and whether you are on pace or will run out first. For Claude Code and Codex it counts the tokens too, from the logs they keep. Any plan can be a menu bar item, so the answer is a glance, not a command.

How to use it

Where it is in Vitals

The tab, the menu bar item and the setting, in the order you would reach for them.

  1. 01

    Turn it on

    Settings → Integrations → Show Usage Limits of Your AI Plans. Vitals uses the sign-in each tool keeps on your Mac and keeps no copy of it. For Claude Code inside the Claude app, macOS asks once whether Vitals may read it.

  2. 02

    Read the rings

    On the Agents tab, one ring per plan in its maker's colour: the week, the 5-hour session and a model's own limit, each with what is left, when it resets and whether you are on pace. Every account signed in on this Mac gets its own, each Claude Code profile included.

  3. 03

    Put it in the menu bar

    Settings → Layout → Menu Bar: a number per provider after its mark, with the 5-hour session beside it if you want it. The dropdown's Agents tab has the plans, the tokens and the sessions.

  4. 04

    Count the tokens

    For Claude Code and Codex, the tab shows the tokens used today and this week, where they went and which models took them.

Compared

AI usage limits: Activity Monitor and Vitals

The whole comparison is row by row. These are the rows about AI usage limits.

Activity Monitor Vitals
Where you look
Activity MonitorEach tool's own command or dashboard
VitalsOne tab, for eight makers
Which limits
Activity MonitorThe one that just stopped you
VitalsThe session, the week, the month and a model's own, each with its reset
On pace
Activity MonitorYou work it out
VitalsOn pace, or will run out first, in words
Tokens
Activity MonitorThe tool's own cost command
VitalsToday and this week, by model, from the logs
Menu bar
Activity MonitorNone
VitalsA number per provider

Questions

The ones people ask about AI usage limits before they buy.

How do I turn it on?

Settings → Integrations → Show Usage Limits of Your AI Plans. The Agents tab then shows every plan this Mac is signed in to.

Does Vitals need my password or an API key?

No. It uses the sign-in each tool already keeps on your Mac, the same way the tool does, and sends nothing else. There is nothing to paste in.

Which plans does it read?

Claude, Codex, GitHub Copilot, Cursor, Antigravity, Grok, Ollama and OpenCode, for every account signed in on this Mac. It also counts the tokens Claude Code and Codex used today and this week.

Can I see it without opening the window?

Yes. Any plan can be its own menu bar item, and the dropdown shows them all.

Does it work with more than one account?

Yes. Every account signed in on this Mac gets its own rings, each Claude Code profile included.

Does Vitals keep a copy of my sign-in?

No. It reads the sign-in the tool already keeps on your Mac, asks the maker with it the way the tool does, and keeps nothing. Nothing else is sent.

What if I am not signed in to one of the tools?

A tool you are not signed in to is simply left out. Sign in with the tool and it appears.

Can it warn me before I run out?

The ring tells you whether you are on pace or will run out first, and a plan in the menu bar is always in view, so you see it coming instead of hitting it mid-task.

Read on

Guides that use this, and how Vitals compares with the apps people buy for it.

More of Vitals

All features

Get Vitals for $15 while the launch price lasts

50 left at this price. The regular price is $39. One payment, lifetime updates, 14-day refund.

Get Vitals for $15