Where Does Krew Store Kubectl Plugins?
Krew plugin root, binary folder, and index location on every OS, plus the PATH entry that makes plugins run.
Last updated
Krew keeps everything under ~/.krew on every OS, including Windows Git Bash, WSL, and PowerShell. Plugins land in ~/.krew/store with versioned folders for each release. The ~/.krew/bin folder holds shims that kubectl actually executes.
That bin folder must be on PATH. Add it in .bashrc, .zshrc, or the Windows user environment editor and restart the shell. The index itself is a git clone in ~/.krew/index. Upgrades replace store entries in place, so old versions linger until you run kubectl krew upgrade.
Where Krew stores this, by platform
~/.krew
Same layout on Linux, macOS, and Windows. Store holds one folder per plugin version, receipts tracks what is installed. Back up this root to preserve exact plugin versions.
~/.krew/bin
Shims for each installed plugin. Add this to PATH rather than the store folders. kubectl finds plugins only through this directory.
Frequently asked questions
kubectl krew works but installed plugins are not found
Add ${KREW_ROOT:-$HOME/.krew}/bin to PATH in your shell profile, then open a new terminal. kubectl krew help confirms the setup. Without that entry the plugins install but never run by name.
how do i fix a broken Krew plugin index
Delete ~/.krew/index and rerun kubectl krew update. The index is a plain git checkout that sometimes gets stuck after a failed fetch. Plugins under store stay untouched.
Notice an outdated path? Let us know.