When using custom company backends, company-complete ends up returning no completions due to a misbehaving backend. In such cases, it would be helpful to know out which company backend was used to generate the list of completions. How do I get this information after a company-complete invocation?

  • 2
    The currently used backend should be displayed in the modeline.
    – wasamasa
    Dec 22, 2014 at 21:41

3 Answers 3


company has a very useful feature that modifies its modeline lighter to display the backend currently in use.

  • 1
    What is that feature and how do I enable it? Jun 12, 2018 at 23:36
  • 2
    Exactly what I wrote in the answer: The currently used backend is displayed in the modeline. It's unconditionally enabled.
    – wasamasa
    Jun 14, 2018 at 8:02
  • I am not seeing it. That probably means Moritz answer applies to me or I have disabled it and forgotten about it. Thanks for the clarification. Jun 14, 2018 at 13:48
  • Nor am I seeing it. I simply see company in the modeline. @Dmitry's answer does work here.
    – jrm
    Jun 27, 2018 at 17:42
  • I strongly suggest you to start with a minimal Emacs session (emacs -Q followed by M-x package-initialize and evaluating your company config) to exclude any interference of your init file.
    – wasamasa
    Jun 27, 2018 at 19:50

You can type M-x company-diag now, and see the used backend in the resulting buffer.


If the first answer does not work:

Using the package elpy, hides the company lighter in the modeline (even in other major modes). Same might be true for globally installed major modes.

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.