Shipped 2026 · open source · Designed, built & audited

Torpor

A menu bar app for people who leave a dozen Claude Code sessions open. It reports what each one actually costs in memory, and lets you end the idle ones without losing the conversation. I built it because my own machine had ten sessions running and I could not tell which were safe to close.

Visit live

The number everyone reports is wrong

Every tool in this space reads a process's RSS. On Apple Silicon that excludes pages macOS has compressed, and an idle Claude Code session is mostly compressed pages. One of mine measured 24 MB by RSS and 319 MB by phys_footprint — a 13x understatement of what it was actually costing the machine.

Discovery is the second trap. The Claude Code executable's filename is its version string, so the obvious `pgrep -x claude` matched exactly one of the ten sessions running on my Mac.

  • RSS understates an idle session by more than 10x; the app reports phys_footprint instead
  • Sessions are enumerated from Claude Code's own registry, never by process name
  • MCP servers are separate processes and are usually the larger half of a session's cost
  • Freezing a process with SIGSTOP frees almost no memory — the app says so rather than selling it

Ending a session without losing it

Hibernate captures the session's full command line from the kernel before terminating it, so reviving can replay the flags that `claude --resume` silently drops. It also records the controlling terminal, so the session reopens in the exact tab it was ended in — that tab is still there, because killing the process leaves its parent shell alive.

Usage percentages come from the payload Claude Code already hands your statusline. That was a deliberate choice: the popular alternative is to read the OAuth token out of the Keychain and call an undocumented endpoint with a spoofed client header, which is the exact pattern Anthropic banned accounts for in January 2026. That path exists in the app, behind a disclosure that names the risk, and is inert unless you accept it.

Audited before release

I ran a multi-agent audit against the finished code — six reviewers across correctness, process handling, security, interface, resilience and product, with every high-severity finding adversarially re-checked before I acted on it. It returned 121 findings. A second pass over the settings alone returned 79 more.

The ones worth naming: the installer could silently replace the user's Claude Code config when it failed to parse; the settings window routed every error into a view it had just closed, so six buttons could fail invisibly; and withdrawing consent for the risky usage source left the button beside it still sending the token.

All of them are fixed, and the reasoning is written next to the code rather than in a commit message nobody reads.

  • 5,935 lines of Swift, zero build warnings
  • 200 findings across two audits, high-severity items adversarially verified
  • Verified against the ten live sessions on my own machine, not a fixture

What I would tell someone considering this

The research said not to sell it. A subscription study returned seven candidate models and killed all seven — six of them because Anthropic already ships the feature free, most within the last six months. The category leader in this niche has 17,400 GitHub stars and earns about $140 a month.

So it is free and open source, and the case for building it was never the revenue. It is a tool I use every day, and the parts that were hard — reading kernel process tables correctly, refusing to build the feature that could get a user's account banned — are the parts worth showing.

Stack

Swift 6SwiftUIAppKitlibproc