Tool for managing RAM by tracking RAM usage by Claude sessions and Chrome
Headroom launched as an open-source macOS app and CLI to track memory across Chrome tabs, Claude Code sessions, and dev servers on Apple Silicon.
By Dillip Chowdary • Nov 10, 2026 • Source: github.com
In this post
An open-source developer tool named Headroom has launched to track memory usage across concurrent Google Chrome tabs, Claude Code sessions, and orphaned dev servers on macOS, as detailed in github.com's report. Designed as a native Apple Silicon Dock application, companion command-line utility, and lightweight browser extension, the utility visualizes system footprint sorted by size and lets engineers close unneeded items with full restore support.
This release covers local memory monitoring for engineers running multiple active coding sessions alongside research-heavy browser windows. It is built specifically for users managing multi-session tmux workflows on macOS who need to inspect background dev servers, reclaim memory, and resume dropped sessions without manual process management.
01Native memory inspection across tabs and sessions
Headroom aggregates running processes, browser tabs, and Claude Code instances into a unified interface ordered by memory footprint. The software identifies active terminal tasks, idle sessions, and leftover processes that persist after sessions end. When an engineer closes an item, closed browser tabs restore with history through the helper extension, while terminated Claude sessions automatically resume inside a fresh tmux window.
A native macOS Dock application built with Swift 6, AppKit, and SwiftPM forms the primary visual interface. It pairs with an unpacked Chrome helper extension that reports exact per-tab memory figures and a terminal CLI located at ~/bin/headroom. The software runs exclusively on Apple Silicon hardware running macOS 15 or later, requiring manual compilation from source using a Swift 6.4 or later toolchain.
System requirements include Google Chrome installed in /Applications and Claude Code configuration files in ~/.claude. Optional integrations hook into /opt/homebrew/bin/tmux for session jumping and restoration, Ghostty for window focus, and AeroSpace tiling rules to configure floating windows. The test harness relies on Bun and Chrome for Testing to execute end-to-end browser suites.
02Local compilation and helper installation steps
Installation starts with a local signing script that generates a self-signed identity labeled Headroom Local Signing in the macOS login keychain. This identity preserves Automation permissions granted to Chrome and Ghostty across subsequent rebuilds. Without this certificate, the build script defaults to ad-hoc code signing, prompting macOS security approvals after every binary recompilation.

Compilation runs via scripts/build.sh to produce an arm64 release binary at build/Headroom.app, with an optional mock flag that boots fake data under HEADROOM_DRY_RUN=1. The install script places the app inside ~/Applications, symlinks the CLI to ~/bin/headroom, and writes the native messaging bridge to ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/dev.adder.headroom.json. A dock flag allows pinning the app icon after creating a backup plist.
Users load the unpacked Chrome helper extension manually by enabling Developer mode in chrome://extensions and selecting the generated directory in Application Support. The helper lacks host permissions or content scripts, ensuring it cannot access web page content, cookies, or browsing history. Basic session tracking, leftover process detection, and overall memory totals operate immediately without installing the browser extension.
Advertisement
Tech Pulse Daily
Get tomorrow's pulse first
Join engineers who read Tech Pulse before stand-up. Free, weekday mornings.
03Keyboard navigation and safety controls
Keyboard shortcuts control process inspection, batch closing, and restoration directly from the visual interface. Standard arrow keys, Command selections, and range modifications mirror macOS Finder interactions. The Backspace or Command-Backspace shortcut initiates row closure accompanied by an immediate Undo toast notification, while an Option modifier bypasses confirmation sheets for non-critical targets.
Safety mechanisms protect critical system components from accidental termination. Locked items, including Chrome itself and the parent process that spawned Headroom, can be inspected with Space for Peek views but can never be closed. Critical operations on busy sessions, orphaned servers, and pinned tabs trigger modal confirmation sheets before execution, while Option-Delete refuses to close busy tasks without verification.
Quick workflow sweeps operate through search filters such as idle>2h !busy, enabling instant batch selection and termination. Users navigate to individual tmux panes or Chrome tabs by pressing Enter or double-clicking any row. Dedicated commands copy resumption instructions formatted as directory changes paired with claude --resume flags, open transcripts, or reveal source folders in Finder.
04Scriptable command line interface for automation
The companion command-line tool shares the same underlying data store and safety validations as the graphical app. Executing headroom list outputs tabular summaries of memory consumers ordered by size, with support for kind filtering and JSON formatting. Closures initiated through terminal commands write directly to the centralized log, allowing users to reverse actions from either interface.
A specialized suggest subcommand presents candidate processes for termination based on heuristics, outputting executable close commands. Appending an ask flag pipes active tab titles, session directories, and prompt snapshots directly to claude -p for an autonomous second opinion without terminating processes. Direct close commands require explicit IDs such as tab, session, or leftover identifiers.
Command line safety switches reject dangerous executions by default. Items requiring visual confirmation sheets fail unless invoked with force-confirm, and busy sessions require include-busy flags to close. The CLI returns distinct exit codes for successful execution, runtime errors, and blocked requests, while setting HEADROOM_DRY_RUN=1 restricts command actions to dry-run logging.
05Local data privacy boundaries and system telemetry
Headroom operates entirely offline without external network communication code in the application, CLI, or native messaging host. The browser helper limits outbound data to existing data URLs for favicons, completely redacting URLs and masking titles for incognito tabs. The only external data transmission occurs when an operator intentionally runs suggest with the ask flag, sending prompt data to Anthropic.
Local telemetry collection gathers memory footprints, parent process trees, paths, and execution arguments directly from host processes. Environment variable parsing retains only CLAUDE-prefixed keys after scrubbing potential credential strings, alongside TMUX identifiers. The application inspects ~/.claude configuration folders and project transcript files without modifying them.
Terminal monitoring inspects active tmux panes and client sessions, reading repository state from local .git/HEAD pointers. The Peek feature displays the trailing fifteen lines of a target session pane or executes lsof against leftover processes to identify orphaned listening ports. Repository status checks run exclusively when evaluating suggestions through the optional agent review flag.
Tool for managing RAM by tracking RAM usage FAQ
What system requirements are needed to run Headroom?
Headroom requires an Apple Silicon Mac running macOS 15 or later, Google Chrome, Claude Code, and a Swift 6.4 or later toolchain. Optional integrations support Homebrew tmux, Ghostty, and AeroSpace.
How does Headroom handle accidental process termination?
Users can press Command-Z or use the CLI undo command to reopen closed Chrome tabs with history and relaunch closed Claude Code sessions in new tmux windows.
Does the Headroom Chrome extension track browsing history?
No, the helper extension contains no host permissions or content scripts and cannot read web page text, cookies, or history.
Can Headroom run automated closes without user confirmation?
The CLI requires explicit confirmation flags like force-confirm and include-busy for risky targets, while locked items like Chrome itself cannot be closed.
Sources
Author
Dillip Chowdary
Writes Tech Bytes coverage of AI, engineering, and the tools that actually ship. Editor of Tech Pulse Daily.
Related on Tech Bytes
Advertisement