Skip to main content
Guide · How-to

Clean uninstall

senkani uninstall removes everything it registered. senkani wipe additionally removes the session DB.

Dry-run first

senkani uninstall

Without --yes, prints the deletion list without acting. Gives you a chance to confirm.

Commit

senkani uninstall --yes --keep-data

The scanner walks twelve categories in a fixed order. Always removed:

Removed unless --keep-data:

--keep-data keeps the session database, app preferences, bundle-ID cache directory, and saved application state in place. Drop the flag if you want everything gone — including the first-launch state, so the next launch behaves like a fresh install.

Verify the onboarding-milestone opt-out

Setting SENKANI_ONBOARDING_MILESTONES=off makes every read and write inside OnboardingMilestoneStore a no-op so a privacy-strict user can opt out without recompiling. To verify the gate is active and confirm nothing further is being written to ~/.senkani/onboarding/milestones.json, run the read-only inspection subcommand:

senkani onboarding milestones

The subcommand emits four blocks: the live SENKANI_ONBOARDING_MILESTONES: on|off status, the absolute path to milestones.json, the file's JSON contents pretty-printed (or (file does not exist yet)), and a derived summary.allComplete line. Reads deliberately bypass the env gate so =off still surfaces on-disk truth — the gate is opt-out-of-recording, not opt-out-of-observability. cat ~/.senkani/onboarding/milestones.json is the script-friendly raw fallback when the senkani binary isn't on PATH.

Full wipe

senkani wipe --yes

Deletes the session DB + socket-auth token. Doesn't uninstall. Use this when you want to reset your stats.

Uninstall is idempotent. Running it twice is safe — the second run finds nothing to remove. But there's no undo; once wiped, session history is gone. Export first if you want a record: senkani export --output ~/senkani-archive.jsonl --redact.

Next

Troubleshooting →