Skip to content
← Open source

Docker CLI

A merged fix for zsh tab completion of Docker plugins, plus two proposals on service updates and error output that were closed without merging.

Role
Contributor
When
August 2026
Stack
Go, Zsh, Shell

Context

The Docker CLI is the docker command itself, written in Go. It also ships shell completion scripts, so that pressing Tab after docker plugin suggests the plugins installed on the machine.

What I contributed

Zsh completion for plugins (#7250, merged). The zsh completion function for plugins parsed the table printed by docker plugin ls and looked for a TAG column. That column no longer exists in the output, so the parser found no position for it and passed empty values into a shell arithmetic expression. The result was a bad math expression error every time zsh tried to complete a plugin name. The fix stops parsing the human readable table altogether: it asks docker plugin ls for a fixed --format '{{.Name}}\t{{.ID}}' output, splits each line on the tab, and escapes colons in plugin names for zsh. It also passes the filter flag as two separate arguments. The change removes twenty lines and adds six, and the error is gone.

Two proposals that were not merged. I also opened #7262, to keep the existing order of mounts when docker service update runs without mount flags (so that a following docker stack deploy does not see a difference and redeploy the service), and #7263, to print a command's error before plugin hooks print their suggestions. Both were closed without merging.

Status

One merged fix, two closed proposals. The closed ones are listed here on purpose: the full history, with links, is in the pull request list below.

Pull requests

1 merged, 0 open, 2 closed. Status synced from GitHub.

← All projects