Skip to content

Installation

DasDuo edited this page Jun 17, 2026 · 4 revisions

Installation

Requirements

  • Apple Silicon Mac (arm64) — this is not a universal app
  • macOS 14 or newer

Homebrew

brew install --cask dasduo/tap/shuttlex

Update later with brew upgrade --cask shuttlex. After installing, approve it once (see Gatekeeper below) — Homebrew installs the app but doesn't bypass Gatekeeper for an un-notarized app.

Download a release

From the Releases page, pick one:

  • ShuttleX-<version>-arm64.dmg — open it and drag ShuttleX onto the Applications shortcut (easiest).
  • ShuttleX-<version>-arm64.zip — unzip it and move ShuttleX.app to /Applications.

Then approve it on first launch (see Gatekeeper below).

Because the app is only ad-hoc signed (not notarized), Gatekeeper blocks the first launch when the file came from the internet/AirDrop — this applies to both the .dmg and the .zip. Two ways to approve it:

  • Terminal: xattr -dr com.apple.quarantine /Applications/ShuttleX.app
  • System Settings: launch once, dismiss the warning, then System Settings → Privacy & Security → "Open Anyway". (Since macOS 15, right-click → Open is no longer enough.)

A FAT/exFAT USB stick sets no quarantine attribute, so the app starts directly from one.

Build from source

git clone https://github.com/DasDuo/ShuttleX
cd ShuttleX
./build.sh
open build/ShuttleX.app

Requirements: Xcode (or the Command Line Tools) with Swift 5.9+. Locally built apps have no quarantine, so they start without the Gatekeeper step.

./build.sh also produces ShuttleX-<version>-arm64.zip; run ./make-dmg.sh afterwards to package a drag-to-install ShuttleX-<version>-arm64.dmg. Run the test suite with swift test.

Launch at login

Settings → General → "Launch at login". For this to work reliably, run the app from /Applications.

Staying up to date

ShuttleX does not phone home by default. Turn on Settings → General → "Check for updates on launch" to have it query the public GitHub Releases API at most once a day (no account, no tracking) and show an "Update available" hint in the menu that links to the download. It never installs anything automatically — you download the new .dmg/.zip yourself.

Clone this wiki locally