Skip to main content

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: sudo apt remove --purge sigmashake-desktop
# - macOS: bash sigmashake-desktop/dist/uninstall-macos.sh --purge

# 3. Uninstall the ssg binary itself (whichever channel you used)
npm uninstall -g @sigmashake/ssg # npm / curl installer / Windows PowerShell
brew uninstall sigmashakeinc/tap/ssg # Homebrew
pipx uninstall sigmashake # PyPI / pipx
winget uninstall SigmaShake.SSG # winget (Windows)

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

StepAction
1Disable the OS-level autostart service (launchd com.sigmashake.daemon on macOS, systemd sigmashake-daemon.service on Linux, Task Scheduler SigmaShakeDaemon on Windows)
2Stop the running daemon (SIGTERM → 2s wait → SIGKILL) and remove its socket + PID file
3Walk ~/.claude/ and the current directory for .claude/settings.json files (bounded: 6 levels deep, 200 files max, skips node_modules, .git, .cargo, vendor, etc.)
4Strip SSG hook entries (PreToolUse, UserPromptSubmit, SessionStart, SessionEnd, Stop, SubagentStop, PreCompact) and SSG-managed permissions from each discovered file
5Remove the ssg-governance MCP server entry from ~/.gemini/settings.json and ~/.codex/config.toml
6Delete ~/.sigmashake/ (skip with --keep-data) — rules DB, flight logs, telemetry, license JWT, dashboard token, autopilot ledger, fleet state
7Remove /tmp/ssg-* (or %TEMP%\ssg-* on Windows) scratch files: ssg-deny-count-*, ssg-serve*, ssg-session-start*, ssg-payload-*, ssg-publish-*
8Print the package-manager command to remove the binary itself (does not run it)

What it does NOT remove

  • The ssg binary itself — see §3.
  • The SigmaShake Desktop desktop app — see §2.
  • .sigmashake/ directories inside individual project repos (per-project rules and presets) — see §4.
  • Published GitHub repositories created by ssg publish — 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)

  1. Open SettingsAppsInstalled apps.
  2. Find sigmashake-desktop and click Uninstall.
  3. 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.

Silent uninstalls (e.g. via MDM tooling: uninstall.exe /S) always default to preserve data.

Linux — .deb package

sudo apt remove sigmashake-desktop # keeps ~/.sigmashake/
sudo apt remove --purge sigmashake-desktop # also runs ssg uninstall to wipe data

The package's prerm script (sigmashake-desktop/dist/prerm.sh) disables the optional systemd user unit, removes the ~/.config/autostart/sigmashake-desktop.desktop entry, and on --purge invokes ssg uninstall --yes --json from the bundled binary before files are removed.

Linux — AppImage

AppImages are not "installed" — they're self-contained executables. To clean up:

# 1. Run the helper script bundled in the AppImage payload
bash sigmashake-desktop/dist/uninstall-appimage.sh --purge

# 2. Delete the .AppImage file itself
rm /path/to/SigmaShake-Desktop-*.AppImage

The helper removes the autostart entry (if you toggled it on), any manual desktop integration (.desktop file + icons in ~/.local/share/), and with --purge runs ssg uninstall to clear ~/.sigmashake/ and hooks.

macOS

bash sigmashake-desktop/dist/uninstall-macos.sh --purge

The script (sigmashake-desktop/dist/uninstall-macos.sh) stops the app, unloads + removes the ~/Library/LaunchAgents/com.sigmashake.desktop.plist and com.sigmashake.daemon.plist LaunchAgents, deletes /Applications/SigmaShake.app (and ~/Applications/ variants), and with --purge runs the bundled ssg uninstall --yes before removing the bundle. It also clears Tauri caches in ~/Library/Caches/, ~/Library/Application Support/, ~/Library/WebKit/, and saved-state files.

If the app lives in /Applications/, you'll need sudo:

sudo bash sigmashake-desktop/dist/uninstall-macos.sh --purge

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.)

ChannelCommand
npm (recommended, all platforms)npm uninstall -g @sigmashake/ssg
curl install script (macOS/Linux)npm uninstall -g @sigmashake/ssg (installer uses npm under the hood)
PowerShell install script (Windows)npm uninstall -g @sigmashake/ssg (installer uses npm under the hood)
Homebrew (macOS)brew uninstall sigmashakeinc/tap/ssg (optionally brew untap sigmashakeinc/tap)
PyPI / pipxpipx uninstall sigmashake (or pip uninstall sigmashake if installed without pipx)
winget (Windows)winget uninstall SigmaShake.SSG
Manual downloadDelete 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.exe lives 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 published rulesets

If you published with ssg publish, a GitHub repository named rules-<project> was created under your account:

gh repo delete <your-username>/rules-<project> --yes

Or via the web UI: Settings → Danger Zone → Delete this repository.

Revoke GitHub access (optional)

ssg publish uses 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

  • Gemini — open ~/.gemini/settings.json and delete the mcpServers.ssg-governance key.
  • Codex — open ~/.codex/config.toml and delete the [mcp_servers.ssg-governance] section (and its [mcp_servers.ssg-governance.env] subsection).

Autostart entries

OSPath / command
macOSlaunchctl 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
Windowsschtasks /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