Uninstalling¶
Uninstalling has two parts: removing the shell hook (so envoke stops
running on every cd) and removing the binary itself. Do both — removing
only the binary leaves a hook line in your rc file that fails on every
prompt/cd once envoke is gone.
1. Remove the shell hook¶
Delete the line you added in Getting Started from your shell's rc file, then restart your shell (or re-source the rc file).
Delete from ~/.bashrc:
eval "$(envoke shell-init bash)"
Delete from ~/.zshrc:
eval "$(envoke shell-init zsh)"
Delete from ~/.config/fish/config.fish:
envoke shell-init fish | source
Delete from ~/.tcshrc:
envoke shell-init tcsh | source /dev/stdin
Delete from $PROFILE:
& envoke shell-init powershell | Out-String | Invoke-Expression
2. (Optional) Remove trust records and config¶
Worth doing rather than skipping: the trust store keeps a plaintext copy of every config you approved, and configs commonly export project-scoped secrets. While the binary is still around:
envoke list # what's in the set, then any other records the store holds
envoke revoke # withdraw trust for the whole set, records and content copies
envoke prune # drop records whose config file is already gone
envoke revoke with no path covers exactly what envoke allow covers — your
central config plus every envokerc.d fragment. Anything envoke list showed
under other trust records sits outside that set and needs its own
envoke revoke <path>. Or skip the bookkeeping and remove the store outright,
which is complete by construction:
# Trust records (SHA-256 hashes + approved content per config path), and
# the disable flag if you ever ran `envoke disable`
rm -rf "${XDG_DATA_HOME:-$HOME/.local/share}/envoke"
# Your central config, if you don't want to keep it
rm ~/.envokerc
# or, if you used the XDG path instead:
rm "${XDG_CONFIG_HOME:-$HOME/.config}/envoke/config"
# The fragment directory, if you used one. Its entries may be symlinks into
# projects; deleting them leaves each project's own config file untouched.
rm -rf ~/.envokerc.d
# or, under the XDG path:
rm -rf "${XDG_CONFIG_HOME:-$HOME/.config}/envoke/envokerc.d"
If you pointed $ENVOKERC or $ENVOKERC_D somewhere of your own, those are
the paths to remove instead — and drop the variables from your rc file while
you are in there.
Leaving the config or trust records in place is safe even after the binary
is gone — nothing reads them without envoke itself.
3. Remove the binary¶
Pick the method matching how you installed it (see Getting Started):
# Homebrew (macOS/Linux)
brew uninstall envoke
# and, if you no longer want the tap itself:
brew untap neirda24/tap
# Scoop (Windows)
scoop uninstall envoke
# and, if you no longer want the bucket itself:
scoop bucket rm neirda24
# Go toolchain
rm "$(go env GOPATH)/bin/envoke"
# Debian/Ubuntu (.deb)
sudo dpkg -r envoke
# Fedora/RHEL (.rpm)
sudo rpm -e envoke
# Manual download / go build
# Remove the binary from wherever you placed it on PATH, e.g.:
rm /usr/local/bin/envoke