Uninstall
This guide removes everything SigmaShake wrote to your machine: the CLI binary, the desktop app, hooks installed in your AI client config, OS-level autostart entries, MCP server registrations, and local databases / logs.
The fastest path is ssg uninstall — one command that handles 90% of the cleanup. The rest of this page covers the desktop app uninstaller and per-channel binary removal.
TL;DR
# 1. Run the built-in cleanup (works on macOS, Linux, Windows)
ssg uninstall
# 2. Uninstall the SigmaShake Desktop desktop app (if you installed it)
# - Windows: Settings → Apps → Installed apps → SigmaShake Desktop → Uninstall
# - Linux: flatpak uninstall com.sigmashake.Desktop (or see §2 for the one-line installer)
# - macOS: quit the app, then drag it to the Trash (see §2)
# 3. Uninstall the ssg binary itself (see §3 below for the full binary removal table)
1. ssg uninstall — the one-command cleanup
ssg uninstall reverses everything ssg init (and downstream usage) wrote. It is safe to run repeatedly: each step is independently failure-tolerant and reports what it actually removed.
ssg uninstall # interactive — shows the plan, asks for confirmation
ssg uninstall --yes # skip confirmation
ssg uninstall --keep-data # preserve ~/.sigmashake/ (rules, license, presets)
ssg uninstall --json # machine-readable result, no prompts
ssg uninstall --paths=/path/to/repo,/another/repo
# restrict hook-removal to these directories
What it removes
| Step | Action |
|---|---|
| 1 | Disable the OS-level autostart service (launchd com.sigmashake.daemon on macOS, systemd sigmashake-daemon.service on Linux, Task Scheduler SigmaShakeDaemon on Windows) |
| 2 | Stop the running daemon (SIGTERM → 2s wait → SIGKILL) and remove its socket + PID file |
| 3 | Walk ~/.claude/ and the current directory for .claude/settings.json files (bounded: 6 levels deep, 200 files max, skips node_modules, .git, .cargo, vendor, etc.) |
| 4 | Strip SSG hook entries (PreToolUse, UserPromptSubmit, SessionStart, SessionEnd, Stop, SubagentStop, PreCompact) and SSG-managed permissions from each discovered file |
| 5 | Remove the ssg-governance MCP server entry from ~/.codex/config.toml |
| 6 | Delete ~/.sigmashake/ (skip with --keep-data) — rules DB, flight logs, telemetry, license JWT, dashboard token, autopilot ledger, fleet state |
| 7 | Remove /tmp/ssg-* (or %TEMP%\ssg-* on Windows) scratch files: ssg-deny-count-*, ssg-serve*, ssg-session-start*, ssg-payload-*, ssg-publish-* |
| 8 | Print the package-manager command to remove the binary itself (does not run it) |
What it does NOT remove
- The
ssgbinary itself — see §3. - The SigmaShake Desktop desktop app — see §2.
.sigmashake/directories inside individual project repos (per-project rules and presets) — see §4.- GitHub repositories that you created yourself to submit rulesets, and GitHub tokens — see §5.
2. Uninstall the SigmaShake Desktop app
SigmaShake Desktop ships a bundled ssg.exe and writes the same ~/.sigmashake/ data directory as the CLI. Each platform has a path that handles the cleanup automatically — no need to run ssg uninstall separately when you use the platform uninstaller.
Windows (NSIS installer)
- Open Settings → Apps → Installed apps.
- Find sigmashake-desktop and click ⋯ → Uninstall.
- The uninstaller will:
- Stop the running app and child processes (
ssg.exe,ssg-hookw.exe,ssg-eval-server.exe). - Run the bundled
ssg uninstall --yes --keep-data(removes hooks, autostart, MCP entries). - Prompt: "Also delete SigmaShake configuration and data?" — Default is No, which preserves
%USERPROFILE%\.sigmashake\(your rules and license). Click Yes for a deep clean.
- Stop the running app and child processes (
Silent uninstalls (e.g. via MDM tooling: uninstall.exe /S) always default to preserve data.
Linux — Flatpak
flatpak uninstall com.sigmashake.Desktop
# Add --delete-data to also drop sandboxed per-user state under ~/.var/app/com.sigmashake.Desktop/
The ~/.sigmashake/ state lives on the host filesystem. Run ssg uninstall, or delete ~/.sigmashake/ in your file manager, to remove it.
Linux — one-line installer
Quit the app from the tray, then remove these paths:
~/.local/share/SigmaShakeDesktop— the bundle~/.local/share/applications/sigmashake-desktop.desktop— the menu entry~/.local/bin/sigmashake-desktop— the launcher symlink, if you used the default bin directory
Then run ssg uninstall to clear ~/.sigmashake/ and the hooks. See Linux desktop for the long-form steps.
Linux — legacy AppImage and .deb
For an older AppImage, delete the .AppImage file. For an older .deb, remove the sigmashake-desktop package with your package manager (for example sudo apt remove sigmashake-desktop). Neither removal runs ssg uninstall for you, so run ssg uninstall yourself afterwards.
macOS
No uninstall script is published. Remove the app by hand:
- Quit the app from the menu bar.
- Drag SigmaShake Desktop.app from Applications to the Trash. For a Mac App Store install, use Launchpad instead.
- Run
ssg uninstallfrom a terminal wheressgis onPATH. This clears~/.sigmashake/, the hooks and the daemon LaunchAgent. Or delete~/.sigmashake/in Finder.
Dated note 2026-10-14: this section replaces earlier text that named helper scripts (uninstall-macos.sh, uninstall-appimage.sh, prerm.sh). Those scripts are not published.
3. Remove the ssg binary
Choose the channel you installed from. (If you're not sure, which ssg on macOS/Linux or where.exe ssg on Windows will show the path — match it to the table below.)
| Channel | Command |
|---|---|
| curl install script (macOS/Linux) | ssg uninstall removes all hooks and state; delete the ssg binary from ~/.local/bin/ssg (or wherever the installer placed it) |
| PowerShell install script (Windows) | ssg uninstall then delete %LOCALAPPDATA%\Programs\ssg\ |
| Manual download | Delete the binary from the location you placed it (/usr/local/bin/ssg, ~/bin/ssg, etc.) |
Note: If you installed via the SigmaShake Desktop app, the bundled
ssg.exelives inside the app's install directory and is removed automatically when you uninstall the app. You only need this section if you also installed the standalone CLI.
4. Remove per-project governance files
Inside each project where you ran ssg init, delete the .sigmashake/ directory:
rm -rf .sigmashake/
This removes local rules, presets, and config.toml. If they were committed:
git rm -r .sigmashake/
git commit -m "Remove SigmaShake governance config"
Also remove the autopilot-rules entry that ssg init appended to .gitignore:
.sigmashake/rules/autopilot.rules
5. Remove published GitHub repositories and tokens
Delete rulesets and repositories
ssg push sends your rules to the Hub API. It does not create a GitHub repository. If you submitted a ruleset from a GitHub repository that you created yourself (for example through the dashboard or the Hub submit form), delete that repository yourself:
gh repo delete <your-username>/<your-repository> --yes
Or via the web UI: Settings → Danger Zone → Delete this repository.
Revoke GitHub access (optional)
The dashboard publish flow can use the GitHub CLI (gh) for authentication; it does not install its own OAuth app. To revoke access entirely:
gh auth logout
This affects every other gh workflow, so only do it if you don't use gh for anything else.
If you used a fine-grained PAT specifically for SigmaShake, revoke it at: GitHub → Settings → Developer settings → Personal access tokens → Revoke.
6. Manual cleanup (if ssg uninstall is not available)
Use this only if the binary was already removed before you ran ssg uninstall, or if the command failed.
.claude/settings.json (per-project and ~/.claude/)
Open each settings.json and delete every block under hooks whose command references ssg (e.g. ssg hook eval, ssg hook health, ssg-hookw.exe). Also remove SSG-injected entries from permissions.allow / permissions.deny if you don't want them. Leave the rest of the file intact.
MCP entries
- Codex — open
~/.codex/config.tomland delete the[mcp_servers.ssg-governance]section (and its[mcp_servers.ssg-governance.env]subsection).
Autostart entries
| OS | Path / command |
|---|---|
| macOS | launchctl unload ~/Library/LaunchAgents/com.sigmashake.daemon.plist && rm ~/Library/LaunchAgents/com.sigmashake.daemon.plist |
| Linux (systemd user) | systemctl --user disable --now sigmashake-daemon.service && rm ~/.config/systemd/user/sigmashake-daemon.service && systemctl --user daemon-reload |
| Linux (.desktop autostart, SigmaShake Desktop) | rm ~/.config/autostart/sigmashake-desktop.desktop |
| Windows | schtasks /Delete /TN SigmaShakeDaemon /F |
Local data
macOS / Linux
rm -rf ~/.sigmashake/
rm -f /tmp/ssg-deny-count-* /tmp/ssg-serve* /tmp/ssg-session-start* /tmp/ssg-payload-* /tmp/ssg-publish-*
Windows (PowerShell)
Remove-Item -Recurse -Force "$env:USERPROFILE\.sigmashake"
Remove-Item -Force "$env:TEMP\ssg-deny-count-*","$env:TEMP\ssg-serve*","$env:TEMP\ssg-session-start*","$env:TEMP\ssg-payload-*","$env:TEMP\ssg-publish-*" -ErrorAction SilentlyContinue
How do I open PowerShell? Press Win + X, then click Terminal (Windows 11) or Windows PowerShell (Windows 10).
Verify removal
# Binary off PATH
which ssg # macOS/Linux: should print nothing
where.exe ssg # Windows: should print "INFO: Could not find files..."
ssg version # should fail with "command not found"
# Local data gone
ls ~/.sigmashake/ # should fail: No such file or directory
On Linux, also confirm the systemd unit is gone:
systemctl --user status sigmashake-daemon.service # should report "Unit ... could not be found"
On Windows:
schtasks /Query /TN SigmaShakeDaemon # should report "ERROR: The system cannot find the file specified"
On macOS:
launchctl list | grep sigmashake # should print nothing