Releases: arshawnarbabi/Halo
Release list
Halo v1.0.4
Halo v1.0.4 — fullscreen window previews, actually.
What's new
- Fullscreen apps now show their windows at all. v1.0.3 added a cross-Space capture fallback, but it never got the chance to run: macOS's Accessibility API only lists windows on the active Space, so an app fullscreen on its own Space enumerated zero windows — no cards, no previews. Halo now discovers those windows through CoreGraphics window enumeration, filtered down to real windows (placed on a Space, big enough not to be a toolbar-reveal strip), and previews them via the SkyLight capture from v1.0.3.
- Clicking a fullscreen app's preview switches straight to its Space, via the same SkyLight raise path used everywhere else.
Update
Already on Halo? Click the menu-bar icon → Check for Updates… and it'll download and relaunch into this version. Or grab Halo.app.zip below.
Requires macOS 26 (Tahoe) on Apple Silicon. Not Mac App Store eligible (self-build / sideload only).
macOS says it "could not verify Halo is free of malware"?
That's expected for a downloaded Halo.app.zip — the release is signed with an Apple Development certificate, not a notarized Developer ID one, so Gatekeeper blocks the first launch. Two ways past it:
- Terminal (recommended). Move
Halo.appto/Applications, then strip the quarantine flag:This also prevents Gatekeeper App Translocation, which would otherwise break the permission grants and the in-app updater.xattr -dr com.apple.quarantine /Applications/Halo.app
- System Settings. Try to open Halo once (let it get blocked), then go to System Settings ▸ Privacy & Security, scroll down to the "Halo was blocked" notice, and click Open Anyway. (On macOS 26 the old right-click ▸ Open bypass no longer works for unnotarized apps.)
More detail in the README.
Halo v1.0.3
Halo v1.0.3 — live previews for fullscreen apps.
What's new
- Fullscreen apps get real window previews. Hovering an app that's fullscreen on its own Space now shows a live preview of that window, instead of falling back to an icon card. ScreenCaptureKit can only screenshot windows on the active Space (it fails with error -3811 for everything else), so Halo now falls back to a WindowServer-side SkyLight capture that renders a window regardless of Space — the same approach AltTab uses. Best-effort and isolated like all of Halo's private-API use: if it ever fails, you get the icon card as before.
- Other-Space and minimized windows too. The same fallback covers windows on any other Space, and minimized windows now preview their last-rendered content.
Update
Already on Halo? Click the menu-bar icon → Check for Updates… and it'll download and relaunch into this version. Or grab Halo.app.zip below.
Requires macOS 26 (Tahoe) on Apple Silicon. Not Mac App Store eligible (self-build / sideload only).
macOS says it "could not verify Halo is free of malware"?
That's expected for a downloaded Halo.app.zip — the release is signed with an Apple Development certificate, not a notarized Developer ID one, so Gatekeeper blocks the first launch. Two ways past it:
- Terminal (recommended). Move
Halo.appto/Applications, then strip the quarantine flag:This also prevents Gatekeeper App Translocation, which would otherwise break the permission grants and the in-app updater.xattr -dr com.apple.quarantine /Applications/Halo.app
- System Settings. Try to open Halo once (let it get blocked), then go to System Settings ▸ Privacy & Security, scroll down to the "Halo was blocked" notice, and click Open Anyway. (On macOS 26 the old right-click ▸ Open bypass no longer works for unnotarized apps.)
More detail in the README.
Halo v1.0.2
Halo v1.0.2 — tidier window previews.
What's new
- Cleaner preview layout. When you fan out an app's window previews, they now tile in a compact, screen-aligned grid with uniform spacing, instead of spreading along a diagonal that changed with the icon's position on the ring. The arrangement is consistent for every spot around the ring and stays on-screen (1 window → single card, 2 → a row, 3–4 → 2×2, 5–6 → 3×2, and so on).
Update
Already on Halo? Click the menu-bar icon → Check for Updates… and it'll download and relaunch into this version. Or grab Halo.app.zip below.
Requires macOS 26 (Tahoe) on Apple Silicon. Not Mac App Store eligible (self-build / sideload only).
macOS says it "could not verify Halo is free of malware"?
That's expected for a downloaded Halo.app.zip — the release is signed with an Apple Development certificate, not a notarized Developer ID one, so Gatekeeper blocks the first launch. Two ways past it:
- Terminal (recommended). Move
Halo.appto/Applications, then strip the quarantine flag:This also prevents Gatekeeper App Translocation, which would otherwise break the permission grants and the in-app updater.xattr -dr com.apple.quarantine /Applications/Halo.app
- System Settings. Try to open Halo once (let it get blocked), then go to System Settings ▸ Privacy & Security, scroll down to the "Halo was blocked" notice, and click Open Anyway. (On macOS 26 the old right-click ▸ Open bypass no longer works for unnotarized apps.)
More detail in the README.
Halo v1.0.1
Halo v1.0.1 adds in-app updates.
What's new
- Check for Updates… — a new menu-bar item. Halo checks the latest GitHub release and, on your confirmation, downloads the new signed build, swaps itself in place, and relaunches. The old build is replaced, not duplicated.
- The download is verified against your installed app's designated requirement (bundle id + signing certificate), so a foreign-signed build is refused and your Accessibility / Screen Recording grants carry over.
- The swap is failure-safe: it stages the new build beside the old one and uses same-volume renames, so an interrupted update can never leave you with a missing or corrupted app — and a failed update is reported on next launch instead of failing silently.
- The menu header now shows the running version, and Check for Updates… disables itself while an update is in flight.
Install / update
- New install: download
Halo.app.zipbelow, unzip, moveHalo.appwhere you like, and open it. (Built from source works too — see the README.) - Already running Halo? Just click the menu-bar icon → Check for Updates….
Requires macOS 26 (Tahoe) on Apple Silicon, and Accessibility permission. Halo uses private system symbols and is not Mac App Store eligible (self-build / sideload only).
Halo v1.0.0
Halo v1.0.0 — the first release.
Press ⌘⇥ and a Liquid Glass ring of your running apps blooms around the cursor. Hover an icon to float it out and reveal a stack of live window previews; slide onto the stack to fan them; click to jump straight to that exact window. Press ⌘⇥ again (or Esc, or click outside) to dismiss.
Highlights
- ⌘⇥ toggle — Halo swallows ⌘⇥ at the HID level; the ring toggles instead of the native switcher. No holding.
- Opens on the cursor, with a spring open/close (icons compress into one glass sphere, then spring out).
- Native Liquid Glass — built on macOS 26
.glassEffect/GlassEffectContainer, with a hover bulge, specular sheen, and an edge outline that hugs the bulge↔ring junction. - Live window previews via ScreenCaptureKit; click a preview to raise that exact window, across Spaces.
- Lone-⌘ recenter glides the open ring onto the current cursor (even another display).
- Optional whole-screen backdrop blur with named levels in the menu bar.
- Menu-bar control — permission status, a Show ring toggle, and the blur submenu; both settings persist across launches.
Requirements
- macOS 26 (Tahoe), Apple Silicon
- An Apple Development signing certificate in your keychain (keeps the Accessibility grant alive across rebuilds)
Install
git clone https://github.com/arshawnarbabi/Halo.git
cd Halo
./Scripts/build.sh releaseThen grant Accessibility from the menu-bar icon and press ⌘⇥. See the README for details.
Notes
Halo uses private SkyLight / Accessibility / CoreGraphics Services symbols (isolated in PrivateAPIs.swift, all best-effort with public fallbacks), so it is not Mac App Store eligible — distribution is self-build / sideload only.