vimtricks.wiki Concise Vim tricks, one at a time.

How do I diagnose plugin and system issues from within Neovim using the built-in health checker?

Answer

:checkhealth

Explanation

Neovim ships with a built-in health framework that runs diagnostic checks for core components and installed plugins. Running :checkhealth opens a read-only buffer with a report showing what is working, what is degraded, and what is broken — with actionable suggestions for each issue.

This eliminates the guesswork of debugging why a plugin isn't working, a language server fails to start, or a system dependency is missing.

How it works

  • :checkhealth — run all available health checks and display the report
  • :checkhealth {module} — run checks for a specific module only
  • Results are color-coded: OK, WARNING, and ERROR sections
  • Each error includes a recommendation on how to fix it

Example

:checkhealth           " full report
:checkhealth nvim      " only Neovim core checks
:checkhealth telescope " only telescope.nvim checks
:checkhealth lsp       " only LSP-related checks

Example output:

## nvim
  - OK: Terminal reports background color

## provider: clipboard
  - WARNING: No clipboard tool found
    ADVICE: Install xclip, xsel, or win32yank

Tips

  • Run :checkhealth after installing a new plugin or language server to catch setup issues immediately
  • Use :checkhealth provider to diagnose Python, Ruby, and Node.js provider issues
  • The output buffer is fully navigable — use / to search for ERROR or WARNING
  • Press q or :q to close the health check buffer when done
  • Plugins can register their own checks via require('module.health').check()

Next

How do I sort lines numerically so that 10 sorts after 2 rather than before it?