Your coding agents, and everything they started.

Claude Code, Codex, Gemini CLI and the rest show up on the Agents tab by name, with the project each is working in, whether it is working or waiting for you, and every dev server, browser and tool server it started. Quit the session and all of it goes together.

Agents 2 sessions · 1.79 GB · 66% CPU
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

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

01Sessions

Every session by the agent that runs it, not by node.

Claude Code, Codex, Gemini CLI and the rest are listed by name, with the project each is working in, how long it has been running, and whether it is working, waiting for your answer or idle, so you can tell which of three sessions actually needs you.

  • Claude Code, Codex, Gemini CLI, Aider, OpenCode, Cursor, Copilot, Amp, Kiro and Goose
  • The project folder, and how long it has been running
  • Working, waiting for you, or idle
  • The memory and CPU of the whole session, helpers included
SessionStateRunningMemory
Claude CodestorefrontWorking1 h 12 m1.2 GB
CodexdocsWaiting22 min640 MB
CursorlandingWorking48 min890 MB
OpenCodeapiIdle5 min310 MB
By the agent, not node or python Waiting for you
02What it started

The server, the browser and the tests, under the session that started them.

An agent starts things to check its own work. Vitals lists them under the session they belong to, each with its own memory and CPU, so when your Mac suddenly gets busy you can see exactly which chat is behind it.

  • Dev servers, headless browsers, test runs and tool servers
  • Each with its own memory and CPU
  • The same things show under their project on the Projects tab
  • A session you closed an hour ago is still found, with what it left behind
Claude CodestorefrontWorking · 1 h 12 m
next devdev server, :3000412 MB2%
Chromiumheadless browser1.1 GB31%
vitesttests, 2 workers380 MB38%
mcp-servertool server48 MB0%
The session and what it started3.1 GB · 71%
Under the session that started it Under storefront on Projects too
03Quit

One Quit, and nothing lives on as an orphan.

Quit a session and everything it started goes with it, the server and the browser included, so a closed chat does not leave a process on port 3000 and two gigabytes in a browser you cannot see. Vitals shows you the list and asks first.

  • You see what will close before it does
  • The server, the browser and the tests go with the session
  • It asks first, every time
  • Force Quit for an agent that has stopped answering
Quit this Claude Code session?
Everything it started closes with it.
next devon :3000
Chromiumheadless
vitest2 workers
CancelQuit
Names what will close No orphans
04Dropdown

Check on your agents without opening the window.

The menu bar dropdown has an Agents tab with your plans and your sessions, the Overview has an Agents card, and an assistant asking over MCP is told which chat each session belongs to.

  • An Agents tab in the menu bar dropdown
  • An Agents card on the Overview
  • Your AI plans above the sessions
  • Over MCP, an assistant learns which chat a session belongs to
OverviewMemoryProjectsAgentsContainers
62%This week 38%5-hour session Plans
Claude CodestorefrontWorking · 1 h 12 m
CodexdocsWaiting for you
CursorlandingWorking · 48 min
A click from the menu bar The plans above the sessions
Why it matters

Coding agents, before and after

A coding agent is never one process. Claude Code runs as node, starts a dev server to check its work, a headless Chromium to look at it, a test runner, a tool server or two, and a shell for every command. In Activity Monitor that is a dozen rows called node, Chromium and zsh, and none of them says which chat started them or whether that chat is still open.

So your Mac gets busy and nothing on the list admits to it. A session you closed an hour ago can still have a server on port 3000 and a browser holding two gigabytes. With three sessions open, the one that has been waiting for your answer for twenty minutes looks exactly like the two that are working.

The Agents tab lists each session by the agent that runs it, with its project, whether it is working, waiting for you or idle, how long it has run, and everything it started underneath, each with its own memory and CPU. Quit the session and the lot goes with it. The same tab is in the menu bar dropdown, an Agents card sits on the Overview, and an assistant asking over MCP is told which chat a session belongs to.

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

    Open the Agents tab

    It is in the window, in the menu bar dropdown, and as a card on the Overview. Each running session is one row, named by the agent, with its project folder.

  2. 02

    Read a session

    The row tells you whether the agent is working, waiting for you or idle, how long it has run, and what it is using. Open it and everything it started is listed: the dev server, the browser, the tests, the tool servers, each with its own memory and CPU.

  3. 03

    Quit a session, with everything it started

    Click Quit on the session. Vitals shows you what will close and asks first. The server, the browser and the rest go with it instead of living on as orphans.

  4. 04

    Ask from your assistant

    Over MCP, Claude, Codex or Cursor can ask which sessions are running and which chat each belongs to, and get the same list, with when it was measured.

Compared

Coding agents: Activity Monitor and Vitals

The whole comparison is row by row. These are the rows about coding agents.

Activity Monitor Vitals
A coding agent
Activity MonitorRows called node, python and zsh
VitalsClaude Code, Codex, Gemini CLI, by name
What it started
Activity MonitorScattered through the list
VitalsListed under its session, with memory and CPU
Working or waiting
Activity MonitorNo way to tell
VitalsWorking, waiting for you or idle, and for how long
Quitting
Activity MonitorOne process at a time
VitalsThe session and everything it started, together
Menu bar
Activity MonitorNone
VitalsAn Agents tab in the dropdown, a card on the Overview

The words behind it

What the numbers mean, from the Activity Monitor glossary.

Questions

The ones people ask about coding agents before they buy.

Which coding agents does Vitals recognise?

Claude Code, Codex, Gemini CLI, Aider, OpenCode, Cursor, GitHub Copilot, Amp, Kiro and Goose. Each running session shows its project, whether it is working or waiting for you, and everything it started.

Why do other tools show an agent as node or python?

Because that is the process it runs inside. Vitals recognises agents by their command, so Gemini CLI shows as Gemini CLI even though it runs in node, and Aider as Aider even though it runs in python.

Can Vitals stop an agent on its own?

No. It quits a session only when you ask, and it shows you what will close before anything does.

Does Vitals read what the agent is working on?

It reads the process, its folder and what it started, nothing about your code or your conversation. Nothing about what you run leaves your Mac.

Does it say how long a session has been running?

Yes. Each session shows how long it has run and whether it is working, waiting for you or idle right now.

What happens to a dev server when I quit the session?

It closes with the session, along with the browser, the tests and the tool servers the agent started. You see the list before anything closes.

Does it see agents inside Cursor, VS Code or the Claude app?

Yes. Cursor and GitHub Copilot sessions show by name, and so does Claude Code whether it runs in a terminal or inside the Claude app. Vitals recognises agents by their command, so the window they run in does not matter.

Does it count the tokens an agent used?

For Claude Code and Codex, yes: today and this week, where they went and which models took them, read from the logs the tools keep on your Mac.

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