Install on macOS
SigmaShake works out of the box on macOS 10.15 (Catalina) and newer, on both Apple Silicon (M-series) and Intel Macs.
Free forever for individuals. No credit card, no signup, no time-limited trial. The Free tier gives you 5,000 governance evaluations per day, which covers normal use. Upgrade to Pro for unlimited evals and team-wide audit sync — but you don't need to.
Quick install
Pick one. They all install the same ssg CLI binary.
Homebrew (recommended)
brew install sigmashakeinc/tap/ssg
Curl
curl -fsSL https://sigmashake.com/install | sh
npm
pnpm add -g @sigmashake/ssg
PyPI distribution is currently on a much older version (
pip install sigmashakereturns v0.4.x). Use brew, curl, or npm above. PyPI parity with npm is on the roadmap.
Verify the install
ssg --version # should print: 0.29.19 (or newer)
ssg --help
First-run setup
cd ~/your-project
ssg init
This does three things:
- Writes
.sigmashake/(governance rules) into your project - Auto-detects every AI agent on your machine (Claude Code, Cursor, Copilot,
Codex, Gemini CLI, Antigravity, etc.) and wires
ssg hook evalinto each - Enables the macOS LaunchAgent so
ssg daemonruns automatically at login and restarts on crash — installed at~/Library/LaunchAgents/com.sigmashake.daemon.plist
You do not need to start a daemon manually, log in, or set any API keys. Tool calls are evaluated locally in <100ms.
Daemon control
ssg autostart status # is the LaunchAgent installed and running?
ssg autostart disable # stop + remove the LaunchAgent
ssg autostart enable # install + start the LaunchAgent (idempotent)
To opt out of auto-start during ssg init:
ssg init --no-autostart
# or set SSG_NO_AUTOSTART=1 in your environment before running init
Use it for free
You're done — ssg works immediately at the Free tier:
- 5,000 evals/day (resets at local midnight)
- All adapters (Claude Code, Cursor, Copilot, Gemini, Codex, etc.)
- All built-in rules (security, destructive-ops, secrets, etc.)
- Local audit log at
~/.sigmashake/audit.db
Check your usage anytime:
ssg status
ssg flight # last 24h dashboard
Upgrade to Pro (optional)
If you outgrow 5,000 evals/day or need cloud audit sync across machines:
ssg auth login # opens browser → accounts.sigmashake.com
Pro is $60/month or $500/year. Enterprise pricing on
sigmashake.com/pricing. After payment, the
license JWT is issued automatically — re-run ssg auth login and you're
upgraded. No license key to copy/paste.
SigmaShake Desktop — the desktop app (optional)
SigmaShake Desktop is a menu-bar app that wraps ssg for non-CLI users. It runs the
governance daemon, surfaces approvals as native macOS notifications, and
opens the dashboard in a webview.
Download
Not sure which to pick? Click Apple → About This Mac → look at the "Chip" / "Processor" line.
- Anything starting with "Apple M" (M1/M2/M3/M4) → use arm64 below
- Anything starting with "Intel Core" → use Intel below
- Unsure / on a shared Mac / installing for someone else → use Intel — it works on every Mac (native on Intel, runs under Rosetta 2 on Apple Silicon with a small perf hit). The arm64 build runs on NOTHING but Apple Silicon.
| Mac | Download |
|---|---|
| Intel (or any Mac, runs everywhere) | SigmaShakeDesktop.dmg (Intel) |
| Apple Silicon (native, faster — M1/M2/M3/M4) | SigmaShakeDesktop.dmg (Apple Silicon) |
Always-latest (bookmark for auto-update flows): the channel-stable URLs above are evergreen — the Electrobun Updater keeps your install current after first launch.
Install
- Open the
.dmg. - Drag SigmaShake Desktop to Applications.
- First launch: macOS shows "SigmaShake Desktop cannot be opened because Apple
cannot check it for malicious software." This is a Gatekeeper warning, not
an actual problem — Apple Developer ID notarization is in progress on our
side. To bypass:
- Right-click
SigmaShake Desktopin/Applications/→ Open → click Open in the dialog. macOS remembers your decision; subsequent launches are silent. - Or from Terminal:
xattr -dr com.apple.quarantine "/Applications/SigmaShake Desktop.app"
- Right-click
What it does
- Sits in your menu bar (no Dock icon)
- Click → Settings, Open Dashboard, Diagnostics, Quit
- Health probe every 5 s — turns red if the governance daemon stops
- Native macOS notifications when an agent's tool call hits an
ask-mode rule - Auto-launches
ssg daemon+ssg serveon startup; manages port hunting in the 5599-5603 range
First-run wizard
SigmaShake Desktop opens a one-time wizard asking which profile to apply:
- Personal — relaxed defaults, single-user, no audit sync
- Professional — strict defaults, structured logging, prepares for team sync
- Enterprise — fail-closed mode, license required, MDM-ready
For solo developers: pick Personal. You can change later in Settings.
Update
The app and CLI auto-update inside the version range. To pull the latest:
brew update && brew upgrade ssg # if installed via brew
pnpm add -g @sigmashake/ssg@latest # if installed via npm
ssg update # all install methods
For the desktop app, SigmaShake Desktop checks for updates on launch and prompts when a new version is available.
Uninstall
ssg uninstall --yes # remove ssg + ~/.sigmashake/
brew uninstall sigmashake/tap/ssg # if installed via brew
# OR: npm uninstall -g @sigmashake/ssg # if installed via npm
# Then drag /Applications/SigmaShake Desktop.app to Trash if you installed the desktop app
ssg uninstall cleans up:
~/.sigmashake/(audit log, license, daemon socket)- All
.claude/settings.jsonfiles in your home tree (strips ssg hook entries) - Any
~/.gemini/,~/.codex/adapter configs
It does not touch ~/.cargo/, node_modules/, vendored crates, or other
third-party stuff.
Permissions you'll be asked for
| Permission | Why | When asked |
|---|---|---|
| Allow Terminal to control "Finder" | None — ssg does not request this | Never |
| Network | Only used if you run ssg auth login (browser-based) | First Pro upgrade |
| Notifications | SigmaShake Desktop — native macOS approval prompts | First time you open SigmaShake Desktop |
ssg (CLI) does NOT request:
- Microphone, camera, accessibility, contacts, calendar, photos, location
- Network access by default (every operation is local)
- Full disk access
Troubleshooting
ssg: command not found after brew install
Add Homebrew to your PATH if you haven't:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
source ~/.zprofile
"ssg-hook-fast binary unusable" warning in Claude Code logs
This is a benign stderr message on macOS Sequoia (15.x). The fast-path Zig binary uses Linux syscall numbers; on macOS we automatically fall through to the JavaScript path, which works correctly but adds ~20ms per hook eval. The Zig port is on our roadmap — see GitHub issue #xxx.
Hit the 5,000/day eval limit
Either upgrade to Pro (ssg auth login) or disable specific noisy rules:
ssg flight | head # show what's eating your budget
ssg rule disable <rule-id> # temporarily silence a specific rule
The counter resets at local midnight.
SigmaShake Desktop won't launch
xattr -dr com.apple.quarantine "/Applications/SigmaShake Desktop.app"- If still failing, run from Terminal to see the actual error:
"/Applications/SigmaShake Desktop.app/Contents/MacOS/sigmashake-desktop"
- Check
~/.sigmashake/desktop.$(date +%F).log - File a bug at github.com/sigmashakeinc/sigmashake-mono/issues
Other SigmaShake products on macOS
The full SigmaShake product family — by macOS readiness:
| Product | Status on macOS | What it does |
|---|---|---|
ssg CLI | ✅ Production | The governance engine. Free 5,000 evals/day. Install via brew/npm/curl above. |
| SigmaShake Desktop | ✅ Production | Menu-bar app for non-CLI users. Download from sigmashake.com/desktop or the .dmg links earlier on this page. |
| SigmaShake Voice | ✅ Production | Whisper-powered voice-to-text with global hotkey. All processing local — no API key, no network. First launch asks for microphone + accessibility permissions. See the Voice download section below. |
ssg debug capture | ✅ Works | Built-in. Captures the SigmaShake Desktop UI to PNG for debugging. Usage: ssg debug capture --window <wizard|ade|diagnostics> (the desktop app must be running with that window open). |
| SigmaShake Gaze | ❌ Linux-only (v0) | Webcam eye-tracking. macOS support is on the v1 roadmap. |
SigmaShake Voice on macOS
Whisper-powered voice-to-text. Press a hotkey, speak, text appears wherever you're typing. Free, fully offline, no API key, no account. The 547 MB Whisper model is bundled inside the .dmg — no separate download needed.
Pick your build:
| Mac | Download |
|---|---|
| Intel (or any Mac, runs everywhere) | SigmaShake-Voice_0.1.3_x64.dmg (518 MB) |
| Apple Silicon (native, faster — M1/M2/M3/M4) | SigmaShake-Voice_0.1.3_arm64.dmg (~480 MB) |
Or just visit voice.sigmashake.com and click the macOS button.
First launch:
- Open the .dmg → drag SigmaShake Voice to
/Applications/ - Right-click
SigmaShake Voicein/Applications/→ Open → click Open in the dialog (Apple Developer ID notarization is in progress; this dance only happens once) - macOS asks for Microphone access → click OK
- Open System Settings → Privacy & Security → Accessibility → add SigmaShake Voice and toggle on (required for paste injection — pastes the transcribed text into whatever app has focus)
- Press the default hotkey (PageDown) → speak → press again to stop → text appears
The full pre-flight smoke checklist (everything we automate + every manual step): sigmashake-voice/MACOS_SMOKE_CHECKLIST.md.
What's next
- Getting Started guide — write your first rule
- Adapters — how the agent integrations work
- CLI reference — every command + flag
- Discord community — questions, feature requests