As the @OptionValues annotation that did accept a provider is not available anymore in spring shell 4, it is not possible to provide the same completion behavior as in version 3.x. The possibility to define a completionProvider on command level makes it harder to differentiate between different completion options based on the option.
I would suggest to allow a completion provider on the option level, too (it could have priority over the one configured on command level).