I have Helm installed and added this line to the end of the init file:

(define-key global-map [remap find-file] 'helm-find-files)

So, when I restart Emacs and try C-x C-f it executes helm-find-files. But all subsequent C-x C-f are executing plain find-file. Why?

  • What do you mean by subsequent? Once helm-find-files is active, helm-map takes over control, I guess.
    – Timm
    Nov 14, 2016 at 14:03
  • @Timm I'm executing C-x C-f first-time in a new Emacs session, it goes helm-find-files. Ok. Next time I'm trying to find a file in this session by C-x C-f it goes find-file - no Helm.
    – ibe
    Nov 14, 2016 at 15:45
  • 1
    I doubt this question is answerable without seeing more of your configuration.
    – Omar
    Nov 14, 2016 at 21:34

1 Answer 1


I suspect there might be something interesting going on with your helm-mode activiation/config. At any rate, helm-find-files, as well as helm-M-x, were removed from default-on status in helm-mode by this commit.

I wonder if you can get that functionality back by customizing 'helm-completing-read-handlers-alist'. In that structure, one option is to delete:

'find-file': nil  
'execute-extended-command': nil

Alternatively, you can also set those entries to:

'find-file': helm-find-file
'execute-extended-command': helm-M-x

There is a third option, but it will be left as an exercise for the reader.

For what it is worth, when I first started using helm, helm-find-files especially caused me some serious confusion for a bit, in that a back arrow dropped a whole word instead of moving characters around. I am not responsible for this change, but I think it makes sense. As for your issue, I think maybe the alist is somehow getting processed by default but not for new instances or something?

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.