Skip to main content
Version: 22.2

rpk generate shell-completion

Shell completion can help autocomplete rpk commands when you press tab.


Bash autocompletion relies on the bash-completion package. You can test if you have this by running type \_init_completion, if you do not, you can install the package through your package manager.

If you have bash-completion installed, and the command still fails, you likely need to add the following line to your ~/.bashrc:

source /usr/share/bash-completion/bash_completion

To ensure autocompletion of rpk exists in all shell sessions, add the following to your ~/.bashrc:

command -v rpk >/dev/null && . <(rpk generate shell-completion bash)

Alternatively, to globally enable rpk completion, you can run the following:

rpk generate shell-completion bash > /etc/bash_completion.d/rpk


To enable autocompletion in any zsh session for any user, run this once:

rpk generate shell-completion zsh > "${fpath[1]}/_rpk"

You can also place that command in your ~/.zshrc to ensure that when you update rpk, you update autocompletion. If you initially require sudo to edit that file, you can chmod it to be world writeable, after which you will always be able to update it from ~/.zshrc.

If shell completion is not already enabled in your zsh environment, also add the following to your ~/.zshrc:

autoload -U compinit; compinit


To enable autocompletion in any fish session, run:

rpk generate shell-completion fish > ~/.config/fish/completions/


rpk generate shell-completion [flags]


Value Type Description
-h, --help- Help for shell-completion.
-v, --verbose-Enable verbose logging (default false).