See what your coding agents are running, and clean up after them
An agent session starts dev servers, watchers and test runners. When it ends, some of them don’t. Stat Space tracks every process a session starts, tells you when one needs you, and stops the leftovers when you say so.
Your agent finished. Its servers didn’t.
Stat Space watches Claude Code, Codex and Cursor sessions: runtime, CPU, child processes and the ports they open. When a session ends, whatever it left running shows up, ready to clean up in one tap.
Your agent can ask too. statspace --mcp gives Claude Code, Codex and Cursor tools for ports, load, sessions and cleanup.
$ claude mcp add --scope user statspace -- \
/Applications/StatSpace.app/Contents/Helpers/statspace --mcp Know before you hit the limit.
How much of your Claude Code and Codex limits is left, per 5-hour and weekly window, when each resets, and whether you’re on pace. One line of it sits on the pinned Agents card too.
Off until you turn it on in Settings › Agents. Codex is read from its local session logs. Claude Code uses Anthropic’s usage endpoint with Claude Code’s own sign-in; the token stays in memory and is never stored or refreshed by Stat Space. It only refreshes while the Agents tab or card is on screen.
Every session, live
Claude Code, Codex and Cursor sessions (plus Aider, Gemini CLI and opencode) with runtime, CPU, peak memory, child processes and the ports they opened. Claude desktop app sessions count too.
Leftovers, one tap
When a session ends, anything it started that’s still running and has sat idle for 10 minutes is listed with its memory and port. “Clean up” stops exactly those, after you confirm.
Claude Code, in detail
Title, project, model and effort, context used, tokens per minute and an ≈ cost estimate. Tap a session for its burn chart, last tool calls, most-read files and a jump to its terminal or editor.
“Needs you”
A session waiting on a permission prompt or your answer gets a dot in the menu bar and a card on Home. A notification is optional and off by default.
Usage limits, opt-in
How much of your Claude Code and Codex 5-hour and weekly limits is left, when each resets, and whether you’re on pace. Off until you turn it on in Settings › Agents.
Orphan sweep
Dev processes (node, vite, tsc --watch, python servers) re-parented to launchd after their terminal closed, with the memory they hold. System processes are never listed.
Why agents need their own tab
A terminal session ends when you close it. An agent session ends when the model decides it’s done, and it rarely stops the next dev on :3000, the prisma studio on :5555 or the tsc --watch it started along the way. A day of agent work can leave a gigabyte of servers and watchers running, each holding a port the next session will trip over.
Activity Monitor shows them as five more node processes. Stat Space shows them under the session that started them, with the project folder, the port and the memory, so you know what’s safe to stop without guessing.
Built for how you actually work
The Agents card can be pinned to Home with one line of usage-limit status, so you see the 5-hour window without opening anything. Session pages add token burn, context, prompt-cache and model breakdowns, a loop warning when a session keeps re-reading the same files, and weekly-limit forecasts by project.
Your agent can ask too. Through the MCP server, Claude Code, Codex or Cursor can list sessions and orphans, and clean up, always asking you before anything is stopped.
The cost of watching
Session detection reuses the process table Stat Space already reads. Claude Code status is a file stat every 2.5 seconds, only while a Claude Code session is running. Transcripts are read incrementally, and only while the Agents tab or a session page is on screen. With the popover closed, idle cost stays under 0.3% CPU.
Questions
How does Stat Space know which processes belong to a session?
It walks each process’s parent chain. Anything descended from an agent’s process is part of that session, so a next dev started three shells deep is still attributed to the Claude Code run that started it.
Does it read my Claude Code conversations?
Only locally, and only while the Agents tab or a session page is open. It reads Claude Code’s own session files and transcripts on your Mac for token counts, tool calls and status. Nothing is uploaded.
How are usage limits read?
Codex limits come from its local session logs. For Claude Code, Stat Space asks Anthropic’s usage endpoint at most every 5 minutes with the sign-in Claude Code already stored, kept in memory only and never refreshed by Stat Space.
Will cleanup kill something I still need?
It only offers processes from an ended session, idle for 10 minutes, and it always shows you the list first. Your editor, terminal and anything outside the session are never touched.
Know what your Mac is doing, without adding to it.
Free, no account. Pro is $9.99 once for the first 100 buyers.