I have the variable completing-read-function set to helm--completing-read-default. When an external package invokes completing-read, this gives helm-based completion. However, the default item picked by the helm completions buffer is the exact string that I have typed. In the helm window, this is the one at the top of all the selections and prefixed by a ?. This isn't the behaviour I see with helm-find-files - the default selection there is the top match. So, if I have entered abc and there is a file named xyzabc.txt it will be selected(assuming its the top match). How do I get this behaviour with helm--completing-read-default? Note that I don't want to change the code of the external package which simply invokes completing-read.

1 Answer 1


I've asked helm's author years ago about this particular issue. Your described behaviour happens whenever a completing read does not specify that it requires an exact candidate match and is therefore not considered a helm bug. That's why he recommends fixing these functions instead of providing an option to allow for this behaviour.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.