I have this (bad) habit of spamming the tab key more often than necessary, and this leads to issues with slow completions (eg: systemd completion, did not dig into that but sometimes completing services takes several seconds). So sometimes I start typing something like "sudo systemctl status d", completion hangs, I continue typing it by hand, and after a few seconds the completion match is inserted followed by everything I typed in the meanwhile. In a similar way, hitting tab several times after completion is triggered produces unwished results... I would prefer this kind of behaviour, in order of preference: a) any keystroke after completion is started cancels completion. special case for , which is ignored b) any keystroke after completion is started is ignored Did I miss something ? How would you implement that, define a new expand-or-complete widget that unbinds keys before triggering completion ? Cheers, Julien