A lightweight macOS menu bar app to control Chrome's headless mode
Features • Installation • Usage • Building • Support
TahoeElectronFix is a SUPER-light and extremely simple macOS menu bar utility that allows you to easily toggle the CHROME_HEADLESS environment variable. This is particularly useful for users of MacOS Tahoe running Electron apps that haven't been updated to the bug fixed Electron version.This setting saves a lot of load on the system and therefore preserves battery life.
- 🎯 Simple Toggle - One click to enable/disable Chrome headless mode
- 🔄 Persistent State - Remembers your preference across restarts
- 🚀 Launch at Login - Optional automatic startup
- 💻 Menu Bar Integration - Unobtrusive menu bar icon
- ⚡ Instant Effect - Changes take effect immediately for new processes
- 🎨 Visual Feedback - Icon changes based on current state
- macOS 13.0 (Ventura) or later
- No App Sandbox (the app needs to set global environment variables)
- Download the latest
.dmgfile from the Releases page - Open the
.dmgfile - Drag TahoeElectronFix to your Applications folder
- Launch the app
⚠️ IMPORTANT First time only: Right-click the app and select "Open" to bypass Gatekeeper or run in terminal :xattr -cr /Applications/TahoeElectronFix.app
See Building from Source below.
- Launch the app - An atom icon (⚛️) will appear in your menu bar
- Left-click the icon to toggle
CHROME_HEADLESSon/off- Solid icon = Headless mode ON (
CHROME_HEADLESS=1) - Greyed icon = Headless mode OFF (
CHROME_HEADLESS=0)
- Solid icon = Headless mode ON (
- Right-click to access the menu:
- Start at Launch - Enable/disable automatic startup
- Offer a coffee to the dev... - Support the developer ☕
- Quit - Exit the application
Hover over the menu bar icon to see the current value: CHROME_HEADLESS 0 or CHROME_HEADLESS 1
To verify the environment variable is set correctly, open Terminal and run:
launchctl getenv CHROME_HEADLESS- Xcode 15.0 or later
- macOS 13.0 SDK or later
-
Clone the repository:
git clone https://github.com/realAbitbol/TahoeElectronFix.git cd TahoeElectronFix -
Open in Xcode:
open TahoeElectronFix.xcodeproj
-
Configure signing:
- Select the project in Xcode
- Go to "Signing & Capabilities"
- Choose your development team
- Important: Remove "App Sandbox" if present
-
Build:
- Select Product → Build (⌘B)
- Or run directly with Product → Run (⌘R)
-
Create distributable app:
- Product → Archive
- Distribute App → Copy App
- Save to desired location
You can create a DMG manually using the provided script or wait for the automated GitHub Actions build.
TahoeElectronFix sets the global CHROME_HEADLESS environment variable using launchctl setenv. This makes the variable available to all GUI applications launched after the variable is set.
The app:
- Maintains state in UserDefaults
- Runs
launchctl setenv CHROME_HEADLESS <value>on toggle - Restores the last saved state on app launch
- Initializes to ON (1) on first run
- Make sure App Sandbox is disabled in Xcode (Signing & Capabilities)
- Verify the app is running (check menu bar for atom icon)
- Check Terminal:
launchctl getenv CHROME_HEADLESS
If you downloaded the app:
- Right-click the app → "Open" (first time only)
- Or run:
xattr -cr /Applications/TahoeElectronFix.app
- Try running the built app directly (not from Xcode)
- Check System Settings → Control Center for hidden icons
If you find this app useful, consider buying me a coffee ☕
MIT Licence
Contributions are welcome! Please feel free to submit a Pull Request.
Created by realAbitbol
Made with ❤️ for the MacOS community