Every time I use the command helm-list-elisp-packages it downloads all the index files from melpa, gnu etc. Is there a way to make it rely on the previous cache of the index files ?

I know there is package-list-packages-no-fetch which does what I want but it doesn't have the nice helm interface.

  • You should open an issue on Helm repo to requeste this feature..
    – Tu Do
    Apr 10, 2015 at 13:43

1 Answer 1


Actually, helm-list-elisp-package already does what you want: it only downloads descriptions of all configured ELPA packages for the first time.

Even without downloading, It may still looks slow because of a great number of packages. In this case, you can use helm-resume to resurrect previously invoked helm-list-elisp-package, it is much faster.

Please also see the implementation of helm-list-elisp-package and the docstring of helm-resume.


Don't fetch the updated list of packages:

(defun helm-list-elisp-packages-no-fetch ()
  (setq helm-el-package--initialized-p t)
  (helm-list-elisp-packages nil))

Do fetch the updated list of packages:

C-u M-x helm-list-elisp-packages

Only fetch for the first time during one Emacs session and don't refetch for the rest time:

M-x helm-list-elisp-packages
  • The problem is If I quit emacs and re-open it again, it downloads the index file again from the remote repositories.
    – Sibi
    Apr 10, 2015 at 16:48
  • Thanks, in the latest version of helm, this command has been added. Related issue: github.com/emacs-helm/helm/issues/971
    – Sibi
    Apr 12, 2015 at 17:19

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.