I'm not a subscriber to the mailing list and please forgive me if this is the wrong place to report this. The completions for nmcli are very incomplete and in some instances, incorrect. These were my steps $ zsh -f $ autoload -U compinit $ compinit -i $ nmcli con -- NetworkManager connections dev -- devices managed by NetworkManager nm -- NetworkManager status $ nmcli con down -- deactivate a connection list -- list configured connections status -- print status of active connections up -- activate a connection $ nmcli dev disconnect -- disconnect device and prevent it from automatically activating list -- get detailed information about devices status -- print status of devices wifi -- list available wifi access points For simplicity's sake, I'm only going one subcommand deep because if you try to tab complete "nmcli con mod" (which should have a large amount of options you can change in the network configuration) you only get the "con, dev and nm" completions again. So to starting from the top, `nmcli nm` is not a command and should not be part of the completion at all. nmcli con and nmcli dev are valid commands but there are several others that should be included. nmcli's options of course, but also the remaining objects: gen, net, rad, and age. All the objects should also have completions as well. `nmcli con help` does show down, list, status and up but also show, add, modify, edit, delete, reload and load. Some of these objects have further subobjects or options themselves. `nmcli dev help` does have disconnect, list, status and wifi but also status and connect. As before, wifi has several subobjects and options