Two extra clicks,
then your keys just work.
Luma is a free beta and isn't signed with an Apple Developer ID, so macOS asks you to approve it once. The whole thing takes about a minute.
Prefer Homebrew?
Two lines and you can skip the whole walkthrough.
brew trust heymykro/tap
brew install --cask heymykro/tap/luma
Both lines matter. Homebrew 6 refuses to load casks from a third-party tap until you trust it, and it stops with an error rather than asking. Installing by full name taps automatically, so two commands is the whole thing. Updates are brew upgrade --cask luma.
Download, then drag it in.
Grab the latest build, open the dmg, and drag Luma into Applications.
Apple Silicon only (M1 and later), macOS 13 or newer. Intel Macs aren't supported yet. The whole app is about under 1 MB.
The first open gets blocked. That's expected.
Double-click Luma in Applications. Because the beta is unsigned, macOS shows this alert. Click Done, not Move to Trash.
On macOS 14 and earlier you can skip ahead: right-click Luma → Open → Open.
Apple could not verify “Luma” is free of malware that may harm your Mac or compromise your privacy.
Approve it once in System Settings.
Open System Settings → Privacy & Security, scroll to the Security section, and click Open Anyway next to the Luma notice. Confirm with Touch ID or your password, and that's the last time it asks.
Prefer the terminal? xattr -dr com.apple.quarantine /Applications/Luma.app does the same thing.
“Luma” was blocked to protect your Mac.
Let it hear the brightness keys.
Luma asks for Accessibility the first time it runs. That's the only way macOS lets an app see the brightness keys before it routes them to the built-in display , which is the entire point of Luma.
It reads exactly two keys and nothing else. Sliders, the HUD and every menu work without it, so you can say no and still use the app.
That's it , a sun in your menu bar.
Luma has no dock icon. It lives in the menu bar as a small sun whose rays track your brightness. Click it for sliders, right-click for presets, and hit the gear for everything else.
Updates work the same way.
Luma checks GitHub once a day. When there's a newer build it shows you the release notes right in the app, with a Download button , no background daemon, no telemetry, and you can skip a version. Drag the new build over the old one in Applications; because the identity stays the same, macOS won't ask you to approve it again.
What it writes, and removing it.
Luma is tidy on purpose. Here's everything it touches, and how to take it all back.
~/Library/Application Support/Luma holds settings.json, your saved per-display levels, and any profiles you create. Plain JSON , you can hand-edit it and Luma applies the change live.~/Library/Application Support/Luma. That's everything. Your displays keep whatever brightness they were last set to.