Uninstall
Vulkro is a single binary per product (vulkro, vulkro-sf) plus a data folder in your home directory. Work through the steps in order: the first three need the binary to still be installed.
1. Sign out
vulkro logout
vulkro-sf logout
logout clears the session on this machine and tells the account server to revoke the device, which frees its seat for your next machine. If the server cannot be reached (or VULKRO_OFFLINE is set) only the local session is cleared: revoke the device under Settings at app.vulkro.com. Do the same for a machine you no longer have.
If you connected Vulkro Cloud from the terminal, forget that connection too:
vulkro cloud disconnect
vulkro-sf cloud disconnect
Removing Vulkro does not cancel a subscription. Manage billing at app.vulkro.com/billing.
2. Remove git hooks and agent hooks
Git hooks run vulkro, so a hook left behind blocks commits once the binary is gone. In each repository where you installed them:
vulkro install-hook --uninstall # removes the pre-commit and pre-push blocks
This removes only the block Vulkro added and deletes the hook file when nothing else is left in it. Hooks written by the older vulkro init --pre-commit or vulkro-sf init --pre-commit are whole files whose second line reads # Generated by vulkro init --pre-commit (or vulkro-sf init): delete .git/hooks/pre-commit (or .husky/pre-commit) by hand after checking that line.
Agent hooks from vulkro guard install:
vulkro guard status # what is wired, and where
vulkro guard uninstall --agent all # Claude Code, Cursor and Windsurf, user config
vulkro guard uninstall --agent all --scope project # run inside each repo you wired
Only the Vulkro entry is removed; your own hooks stay. A hook you added by hand (for example vulkro guard read-outline) has to be removed by hand.
3. Remove the editor extension
vulkro install-extension installs vulkro.vulkro and vulkro-sf install-extension installs vulkro.vulkro-sf. Uninstall them from the editor's Extensions view, or from the command line (cursor, windsurf or codium for the other editors):
code --uninstall-extension vulkro.vulkro
code --uninstall-extension vulkro.vulkro-sf
This also removes the MCP server the extension registers in the editor. If you added vulkro mcp serve or vulkro-sf mcp serve to an AI tool's MCP config yourself (claude_desktop_config.json, a project .mcp.json, ~/.cursor/mcp.json and so on), delete that entry; in Claude Code, claude mcp remove with the name you gave it.
If you ran the skill installer, delete what it wrote: ~/.claude/skills/vulkro/, ~/.claude/skills/vulkro-sf/, ~/.cursor/rules/vulkro.md, and in ~/.codex/AGENTS.md the block that starts at the line # vulkro-skill:v1.
4. Delete the binaries and data
macOS and Linux
The installer puts the binary in /usr/local/bin when that folder is writable, otherwise in ~/.local/bin (or the folder you passed with --bin-dir / VULKRO_BIN_DIR). It does not edit your shell profile, so there is no PATH line to remove unless you added one yourself.
command -v vulkro vulkro-sf # shows where they are
rm -f "$(command -v vulkro)" "$(command -v vulkro-sf)" # prefix with sudo for /usr/local/bin
rm -rf ~/.vulkro ~/.vulkro-sf
~/.vulkro holds everything else Vulkro keeps for your user: the licence and session database (scans.db, with your scan history), the CVE data, caches, rule packs, Cloud connections and the heartbeat state. ~/.vulkro-sf holds vulkro-sf console data and logs. Also delete:
| Platform | Folder |
|---|---|
| macOS | ~/Library/Application Support/vulkro and ~/Library/Application Support/Vulkro (the local console database and a trial record) |
| Linux | ~/.config/vulkro and ~/.local/share/Vulkro (or the same names under $XDG_CONFIG_HOME / $XDG_DATA_HOME) |
If you set VULKRO_DB or VULKRO_SF_DATA_DIR, delete the file or folder they point at, and unset them along with any other VULKRO_* variable in your profile or CI settings. The installer's log is /tmp/vulkro-cve-update.log.
Windows
The installer puts vulkro.exe and vulkro-sf.exe in %USERPROFILE%\.local\bin (or the -BinDir you chose) and adds that folder to your user PATH.
$bin = "$env:USERPROFILE\.local\bin"
Remove-Item "$bin\vulkro.exe", "$bin\vulkro-sf.exe" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:USERPROFILE\.vulkro", "$env:USERPROFILE\.vulkro-sf", "$env:APPDATA\vulkro" -ErrorAction SilentlyContinue
If nothing else lives in that folder, take it off your user PATH (open a new terminal afterwards):
$path = [Environment]::GetEnvironmentVariable("Path", "User")
$keep = ($path -split ";") | Where-Object { $_ -and $_ -ne $bin }
[Environment]::SetEnvironmentVariable("Path", ($keep -join ";"), "User")
The installer's log is %TEMP%\vulkro-cve-update.log.
Files in your repositories
Uninstalling does not touch your repositories. Configuration you created stays in each repository until you remove it: vulkro.toml, .vulkroignore, the .vulkro/ folder (triage decisions, AI notes), and for Salesforce .vulkro-sf/ and .vulkro-sf.yml. These may be committed and shared with your team, so check before deleting them.
An offline licence file (.lic) is bound to the machine it was made for. To move one to a new machine, email support@vulkro.com.