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
chezmoi Manage your dotfiles across multiple diverse ma...
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
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
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
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...
nix
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...
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
yq yq is a portable command-line YAML processor
zellij A terminal workspace with batteries included

Total: 115 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.

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. Normal sync and --new-only include the child when its provider is installed. misecompsync uvx syncs only uvx; misecompsync uv does not expand children.