User A on my macOS with oh-my-zsh installed and docker zsh plugin enabled sees this when I do tab completion:
$ docker i<tab>
image -- Manage images
images -- List images
import -- Import the contents from a tarball to create a filesystem image
info -- Display system-wide information
init -- Creates Docker-related starter files for your project (Docker Inc., v0.1.0-beta.4)
inspect -- Return low-level information on Docker objects
I'm setting up User B on the same machine also using oh-my-zsh but instead of the nice completion above, when I do docker i<tab> it results in docker inspect. None of the other options show up. Same with docker p<tab> which just shows the options for ps and prune but none of the other subcommands which begin with the letter p like pause, pull, port, etc. I also don't see the subcommand descriptions like with User A. User B just sees the command without a description.
Both machines are running the same version of zsh.
What might explain why docker completion works so differently for User B compared to User A?
You're right, it's because of Docker plugin update. Long story short, add the following line to your
.zshrc:(as described in the plugin's README)
You can find details here: Completion is not working properly with Docker version 24.0.2. Waiting for a fix from the Docker team. After that, you can remove this setting from the config.