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, andERRORsections - 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
:checkhealthafter installing a new plugin or language server to catch setup issues immediately - Use
:checkhealth providerto diagnose Python, Ruby, and Node.js provider issues - The output buffer is fully navigable — use
/to search forERRORorWARNING - Press
qor:qto close the health check buffer when done - Plugins can register their own checks via
require('module.health').check()