--- name: install-insomnia description: Install or upgrade Insomnia, the macOS menu bar app that keeps a Mac awake for a timed session, from a GitHub release or from source. Use when the user asks to install, update or reinstall Insomnia. --- # Install Insomnia The exact commands are in [docs/install.md](https://github.com/krishhgg/Insomnia/blob/main/docs/install.md). Read that page, then follow these steps. Never run `sudo` yourself and never pass a password to it. When a step needs the administrator password, give the user the exact command to run in Terminal and wait for them to say it finished. 1. **Check the Mac.** Insomnia needs macOS 26 or later (`sw_vers -productVersion`). Release zips run only on Apple Silicon: `sysctl -n hw.optional.arm64` prints `1`. On an Intel Mac, use "Build from source" and tell the user that build is untested on Intel. 2. **Pick the channel.** Use the latest stable release unless the user asked for the newest nightly. If the release is `v0.1.0`, follow its release notes instead of docs/install.md. 3. **Download and verify.** Follow "Install a release yourself", steps 1 and 2. Run both checks. Keep `--source-digest` and the full 40-character commit. If either check fails, stop and tell the user. Do not download a different file to get past it. 4. **Install.** Step 3 of the same section runs `install.sh`, which asks for the administrator password, so hand that command to the user. Before they run it, tell them the installer adds a sudoers rule. That rule lets their account run four `pmset` power commands without a password, and the page's "What gets installed" section lists them. `--allow-unverified-origin` tells the installer that both download checks passed. Never suggest it when they did not. 5. **First launch.** macOS blocks the first launch of a downloaded app until the user allows it in System Settings > Privacy & Security. 6. **Confirm.** The eye shows in the menu bar, and `launchctl print gui/$(id -u)/com.insomnia.backstop` finds the recovery agent. Ask the user to review the lid-close options in Settings before the first session. An upgrade is the same steps. The installer asks the running app to quit and stops if a session is still waiting to be undone. Then use the maintain-insomnia skill to find out why. To build from source, follow "Build from source" on the same page. Its `./scripts/install.sh` also needs the password.