As per the comment above the affected code, the client can specify the face when prefix and suffix are provided. The prefix is already checked earlier and what remained was checking the suffix not the prefix. There is another thing I would like to bring up in this context: When the annotations returned by annotation/affixation functions already specify a face I think it would be nicer if the completion-annotations face wouldn't be applied generally. In Selectrum we use something like: (if (text-property-not-all 0 (length str) 'face nil str) str (propertize str 'face 'completions-annotations)) This gives the client full control over the visual appearance if that is preferred. Maybe this approach could also make sense to be included in Emacs? Currently for the annotation function the completions-annotations face is always applied and for the affixation function it also still gets applied when the affixation function returns a two candidate list (like read-extended-command--affixation on current master). The case of also allowing a two candidate list to be returned by affixation functions is also currently undocumented. Clemens