# rpk generate shell-completion

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [cloud-data-platform-full.txt](https://docs.redpanda.com/cloud-data-platform-full.txt)

---
title: rpk generate shell-completion
latest-operator-version: v26.2.1
latest-console-tag: v3.9.0
latest-connect-version: 4.104.0
latest-redpanda-tag: v26.2.1
docname: rpk/rpk-generate/rpk-generate-shell-completion
page-component-name: cloud-data-platform
page-version: master
page-component-version: master
page-component-title: Cloud
page-relative-src-path: rpk/rpk-generate/rpk-generate-shell-completion.adoc
page-edit-url: https://github.com/redpanda-data/cloud-docs/edit/main/modules/reference/pages/rpk/rpk-generate/rpk-generate-shell-completion.adoc
page-git-created-date: "2024-07-25"
page-git-modified-date: "2026-05-26"
---

<!-- Source: https://docs.redpanda.com/cloud-data-platform/reference/rpk/rpk-generate/rpk-generate-shell-completion.md -->

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

## [](#usage)Usage

```bash
rpk generate shell-completion [flags]
```

### [](#bash)Bash

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`:

```text
source /usr/share/bash-completion/bash_completion
```

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

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

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

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

### [](#zsh)Zsh

If shell completion is not already enabled in your environment, you will need to enable it. You can execute the following once:

```bash
echo "autoload -U compinit; compinit" >> ~/.zshrc
```

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

**Linux:**

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

**macOS:**

```bash
rpk generate shell-completion zsh > "$(brew --prefix)/share/zsh/site-functions/_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.`

### [](#fish)Fish

To enable autocompletion in any fish session, run:

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

## [](#global-flags)Global flags

| Value | Type | Description |
| --- | --- | --- |
| --config | string | Redpanda or rpk config file; default search paths are ~/.config/rpk/rpk.yaml, $PWD/redpanda.yaml, and /etc/redpanda/redpanda.yaml. |
| -X, --config-opt | stringArray | Override rpk configuration settings; -X help for detail or -X list for terser detail. |
| --ignore-profile | bool | Ignore rpk.yaml and redpanda.yaml; use default settings. |
| --profile | string | rpk profile to use. |
| -v, --verbose | bool | Enable verbose logging. |