Skip to content

Supported Tools

The following tools have shell completion support in mise-completions-sync.

Tool Description ZSH Bash Fish
argocd Declarative continuous deployment for Kubernetes ✓ ✓ ✓
asdf-hishtory ✓ ✓ ✓
ast-grep A CLI tool for code structural search, lint and... ✓ ✓ ✓
atuin ✨ Magical shell history ✓ ✓ ✓
bat A cat(1) clone with wings ✓ ✓ ✓
bun Bun is a fast JavaScript all-in-one toolkit ✓ ✓ ✓
cargo ✓ ✓
cf Cloudflare's command line client ✓ ✓ ✓
chezmoi Manage your dotfiles across multiple diverse ma... ✓ ✓ ✓
cilium-hubble Hubble - Network, Service & Security Observabil... ✓ ✓ ✓
clusterctl Home for Cluster API, a subproject of sig-clust... ✓ ✓ ✓
cmctl the command line utility that makes cert-manage... ✓ ✓ ✓
cosign Code signing and transparency for containers an... ✓ ✓ ✓
crush The glamourous AI coding agent for your favouri... ✓ ✓ ✓
cue The home of the CUE language! Validate and defi... ✓ ✓ ✓
dagger A portable devkit for CI/CD pipelines ✓ ✓ ✓
delta A syntax-highlighting pager for git, diff, and ... ✓ ✓ ✓
deno A modern runtime for JavaScript and TypeScript ... ✓ ✓ ✓
dive A tool for exploring each layer in a docker image ✓ ✓ ✓
docker-cli Docker CE CLI ✓ ✓ ✓
dockerfmt ✓ ✓ ✓
doctl The official command line interface for the Dig... ✓ ✓ ✓
doggo :dog: Command-line DNS Client for Humans. Writt... ✓ ✓ ✓
dyff A diff tool for YAML files, and sometimes JSON ✓ ✓ ✓
fd A simple, fast and user-friendly alternative to... ✓ ✓ ✓
flux2 Open and extensible continuous delivery solutio... ✓ ✓ ✓
flyctl Command line tools for fly.io services ✓ ✓ ✓
fnox Fort Knox for your secrets ✓ ✓ ✓
forgejo-cli ✓ ✓ ✓
fx Command-line tool and terminal JSON viewer ✓ ✓ ✓
gh GitHub’s official command line tool ✓ ✓ ✓
ghorg Quickly clone an entire org/users repositories ... ✓ ✓ ✓
gitleaks Find secrets with Gitleaks ✓ ✓ ✓
glab gitlab cli ✓ ✓ ✓
glow Render markdown on the CLI, with pizzazz ✓ ✓ ✓
golangci-lint Fast linters Runner for Go ✓ ✓ ✓
goreleaser Deliver Go binaries as fast and easily as possible ✓ ✓ ✓
grafanactl ✓ ✓ ✓
grype A vulnerability scanner for container images an... ✓ ✓ ✓
helm The Kubernetes Package Manager ✓ ✓ ✓
hishtory Your shell history: synced, queryable, and in c... ✓ ✓ ✓
hk git hook and pre-commit lint manager ✓ ✓ ✓
hubble ✓ ✓ ✓
hugo The world’s fastest framework for building webs... ✓ ✓ ✓
hyperfine A command-line benchmarking tool ✓ ✓ ✓
ipython ✓ ✓ ✓
istioctl Istio configuration command line utility for se... ✓ ✓ ✓
jj A Git-compatible VCS that is both simple and po... ✓ ✓ ✓
jules Jules, the asynchronous coding agent from Googl... ✓ ✓ ✓
just Just a command runner ✓ ✓ ✓
k3d Little helper to run CNCF's k3s in Docker ✓ ✓ ✓
k9s Kubernetes CLI To Manage Your Clusters In Style ✓ ✓ ✓
killport A command-line tool to easily kill processes ru... ✓ ✓ ✓
kind Kubernetes IN Docker - local clusters for testi... ✓ ✓ ✓
ko Build and deploy Go applications on Kubernetes ✓ ✓ ✓
kubectl kubectl cli ✓ ✓ ✓
kubectl-ai ✓ ✓ ✓
kubeseal A Kubernetes controller and tool for one-way en... ✓ ✓ ✓
kustomize Customization of kubernetes YAML configurations ✓ ✓ ✓
lazygit simple terminal UI for git commands ✓ ✓ ✓
lefthook Fast and powerful Git hooks manager for any typ... ✓ ✓ ✓
linkerd Ultralight, security-first service mesh for Kub... ✓ ✓ ✓
mdbook Create book from markdown files. Like Gitbook b... ✓ ✓ ✓
mermaid-ascii Render Mermaid graphs inside your terminal ✓ ✓ ✓
minikube Run Kubernetes locally ✓ ✓ ✓
mise ✓ ✓ ✓
mise-completions-sync ✓ ✓ ✓
nerdctl contaiNERD CTL - Docker-compatible CLI for cont... ✓ ✓ ✓
nova Find outdated or deprecated Helm charts running... ✓ ✓ ✓
npm the package manager for JavaScript ✓
oc OpenShift Client CLI (oc) ✓ ✓ ✓
oci Oracle Cloud Infrastructure CLI ✓ ✓ ✓
opencode AI coding agent, built for the terminal ✓ ✓
openspec ✓ ✓ ✓
oras ORAS CLI ✓ ✓ ✓
patool ✓ ✓ ✓
pdm A modern Python package and dependency manager ... ✓ ✓ ✓
pipx Install and Run Python Applications in Isolated... ✓ ✓ ✓
pitchfork Daemons with DX ✓ ✓ ✓
pkl A configuration as code language with rich vali... ✓ ✓
pluto A cli tool to help discover deprecated apiVersi... ✓ ✓ ✓
pnpm Fast, disk space efficient package manager ✓ ✓
podman Podman: A tool for managing OCI containers and ... ✓ ✓ ✓
poetry Python packaging and dependency management made... ✓ ✓ ✓
prek ⚡ A fast Git hook manager written in Rust, desi... ✓ ✓ ✓
pulumi Pulumi - Infrastructure as Code in any programm... ✓ ✓ ✓
ratarmount ✓ ✓ ✓
rclone "rsync for cloud storage" - Google Drive, S3, D... ✓ ✓ ✓
regctl Docker and OCI Registry Client in Go and toolin... ✓ ✓ ✓
restic Fast, secure, efficient backup program ✓ ✓ ✓
rg ripgrep recursively searches directories for a ... ✓ ✓ ✓
ripgrep ripgrep recursively searches directories for a ... ✓ ✓ ✓
ruff An extremely fast Python linter and code format... ✓ ✓ ✓
rumdl Markdown Linter and Formatter written in Rust ✓ ✓ ✓
rustup ✓ ✓ ✓
saml2aws CLI tool which enables you to login and retriev... ✓ ✓
scaleway-cli Command Line Interface for Scaleway ✓ ✓
skaffold Easy and Repeatable Kubernetes Development ✓ ✓ ✓
sops Simple and flexible tool for managing secrets ✓ ✓
starship The minimal, blazing-fast, and infinitely custo... ✓ ✓ ✓
step A zero trust swiss army knife for working with ... ✓ ✓ ✓
stern ⎈ Multi pod and container log tailing for Kuber... ✓ ✓ ✓
syft CLI tool and library for generating a Software ... ✓ ✓ ✓
talosctl Talos is a modern OS for Kubernetes. talosctl i... ✓ ✓ ✓
task A task runner / simpler Make alternative writte... ✓ ✓ ✓
television The revolution will (not) be televised ✓ ✓ ✓
tilt Define your dev environment as code. For micros... ✓ ✓ ✓
tlrc A tldr client written in Rust ✓ ✓ ✓
trash Put files in trash ✓ ✓
trash-empty Empty trash ✓ ✓
trash-list List trashed files ✓ ✓
trash-put Put files in trash ✓ ✓
trash-restore Restore trashed file ✓ ✓
tree-sitter An incremental parsing system for programming t... ✓ ✓ ✓
trivy Find vulnerabilities, misconfigurations, secret... ✓ ✓ ✓
ty An extremely fast Python type checker and langu... ✓ ✓ ✓
usage A specification for CLIs ✓ ✓ ✓
uv An extremely fast Python package installer and ... ✓ ✓ ✓
uvx ✓ ✓ ✓
velero Backup and migrate Kubernetes applications and ... ✓ ✓ ✓
watchexec Executes commands in response to file modificat... ✓ ✓ ✓
whosthere ✓ ✓ ✓
xh Friendly and fast tool for sending HTTP requests ✓ ✓ ✓
ya ✓ ✓ ✓
yazi Blazing fast terminal file manager written in R... ✓ ✓ ✓
yq yq is a portable command-line YAML processor ✓ ✓ ✓
zellij A terminal workspace with batteries included ✓ ✓ ✓
zoxide A smarter cd command. Supports all major shells ✓ ✓ ✓
zshellcheck ✓ ✓

Total: 129 tools

Shell Support Legend

  • ✓ = Full completion support
  • Empty = Not supported by the tool for this shell

Adding New Tools

If a tool you use isn't listed:

  1. Check if the tool supports shell completions (tool completion --help)
  2. Add an entry to registry.toml using an existing pattern or explicit commands
  3. Test with uv run scripts/validate-registry.py --installed-only
  4. Submit a PR

Tools that need another binary

Some tools shell out to a second binary to render completions, and fail when it is missing. fnox, for example, renders through usage. Name it with requires and it joins the same mise x invocation:

fnox = { requires = "usage", zsh = "fnox completion zsh" }

requires works on patterns too, when every tool sharing the pattern needs the same helper.

Tools that ship completion files

Some tools have no completion command at all and instead ship the files in their download, like hyperfine and killport. Set bundled = true and give each shell the filename to look for instead of a command:

hyperfine = { bundled = true, zsh = "_hyperfine", bash = "hyperfine.bash", fish = "hyperfine.fish" }

The file is searched for by name beneath mise where <tool>, because the directory holding it encodes the version and platform (hyperfine-v1.20.0-x86_64-apple-darwin/autocomplete) and cannot be written down in advance. The shallowest match wins.

Tools whose binary has a different name

A completion file is only loaded when it is named after the command the user types, so an entry keyed on a mise tool name that differs from its binary has to say so with completion_name. television installs tv:

television = { completion_name = "tv", zsh = "tv init zsh", bash = "tv init bash", fish = "tv init fish" }

Two entries may share one completion_name when the same binary is reachable under two mise tool names, as rg and ripgrep are. They write the same file, and clean keeps it while either one is installed.

Companion binaries

Some mise tools install additional binaries that generate their own completions. Use an explicit entry with provided_by to link the binary to its mise tool:

uvx = { provided_by = "uv", zsh = "uvx --generate-shell-completion zsh", bash = "uvx --generate-shell-completion bash", fish = "uvx --generate-shell-completion fish" }

provided_by is a one-hop link and is supported only on explicit entries. Every sync includes a child whenever its provider is installed, and misecompsync uv syncs both uv and uvx. misecompsync uvx syncs only uvx.