The problem with a flat process list
A single development session can fan out into dozens of short-lived workers. A process table can show each one; it usually cannot tell you that they all belong to the same project—or that two agents are compiling at once.
Project-level grouping
Battery Hog uses command, process ancestry, and working-directory signals to connect recognized development workers to a workload.
Whole-Mac context
Live battery-side watts remain system-wide, so estimated app impact is never disguised as an exact per-app measurement.
Thermal history
Heat Watch observes macOS thermal state and reviews recent CPU/workload history after sustained pressure.
Explicit coordination
Agent Mode coordinates only commands deliberately launched through its gate. Ungated processes remain untouched.
Recognized work today
Battery Hog recognizes common Node, Rust, Gradle/Kotlin, CocoaPods, test, scan, compiler, and dev-server activity. Workload classification is heuristic and open source; edge cases are welcome as reproducible GitHub issues.
Use it when
- Your unplugged runtime collapses during a build-heavy session.
- Several coding agents may be launching work in parallel.
- A compiler family is busy but the owning project is not obvious.
- Your Mac heats up and you want recent workload context.
- Something is preventing idle sleep after the work should be done.