Skip to content

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