osfeed.dev
Projects/mason-org / mason.nvim

mason.nvim

A package manager for Neovim editor tools

Get it on GitHub
Unclaimed

Written by @iluxav from the project's code and releases, not by its maintainers. Last updated for v2.3.1 (2026-06-11), so it may lag behind newer releases.

Are you @mason-org?Claim it, and your coding agent keeps it current with each release
v2.3.1 · 11 things you can do 8 changes to know before upgrading
Follow GitHub

Install, update, and remove language servers, debug adapters, linters, and formatters from Neovim.

What you can do with mason.nvim

Install, update, and uninstall language servers, debug adapters, linters, and formatters from Neovim.

Present at v1.8.3
Good to know

Requires download/archive utilities and package-specific runtimes; editor integration may require separate plugins.

Browse editor tools, filter them by language, and check for package updates in Neovim.

Present at v1.8.3
Good to know

Packages must be available through configured registries.

Run installed tool executables from Neovim terminals, shell commands, and other plugins.

Present at v1.8.3
Good to know

Mason prepends its bin directory to Neovim's PATH by default; configuring and starting editor integrations is separate.

Install selected package versions headlessly and manage packages through Lua.

Present at v1.8.3
Good to know

Available versions depend on each package; undocumented APIs can change without notice.

Refresh package catalogs and choose which registries supply editor tools.

Present at v1.8.3
Good to know

The first configured registry wins when package names overlap.

Inspect missing dependencies and installation logs from Neovim.

Present at v1.8.3
Good to know

Use `:checkhealth mason` and `:MasonLog`; DEBUG logging must be enabled before reproducing detailed failures.

Adjust the Mason window size, border, icons, and keyboard shortcuts.

Present at v1.8.3
Good to know

Options are supplied to Mason's setup function.

Install editor tools whose Mason package definitions use Open VSX sources.

Since v1.9.0
Good to know

Requires a Mason registry package definition; this does not install arbitrary VS Code extensions into Neovim.

Show all 11

Screen supported package installations with the Socket.dev firewall.

Since v2.3.0
Good to know

Disabled by default. Mason manages the firewall client unless `firewall.auto_managed = false`, which requires `sfw` on PATH.

Pass extra npm install arguments, such as an alternate npm registry, when installing tools.

Since v2.3.0
Good to know

Set `npm.install_args`; the README warns extra arguments can affect intended behavior.

Choose the registry cache lifetime or turn off automatic registry refresh.

Since v2.3.0
Good to know

`registry_cache.refresh` defaults to true and `duration` to 86400 seconds; disabling refresh requires manual updates.

Before you upgrade mason.nvim

Newest first
v2.3.0

`Package:get_install_path()` is available again and resolves ordinary or Mason system-package directories; this does not establish a stable layout inside those directories.

Behavior changedInferredAffects: Lua integrations needing installed package paths.
Read the evidence
Show 5 older
v2.0.0

Uninstalled packages display available versions, packages show source `purl` identifiers, and the header displays the Mason version.

Behavior changedAffects: Users of `:Mason`.
Read the evidence
v2.0.0

The default `ui.border` becomes `nil`, using Neovim's `winborder` when available instead of always using no border.

Behavior changedAffects: Users who do not explicitly configure `ui.border`.
Read the evidence
v2.0.0

Installed tool symlinks use relative paths instead of absolute paths.

Behavior changedAffects: Users inspecting or moving Mason's installed tool directories.
Read the evidence
v2.0.0

Custom registries are officially supported through `github:`, `file:`, and `lua:` protocols; registry installations run concurrently.

Behavior changedAffects: Users configuring custom or multiple registries.
Read the evidence
mason.nvim release history 10
v2.3.1

Run NuGet-installed tools that use Windows command shims.

Details

Mason recognizes NuGet `.cmd` shims on Windows. Recursive cleanup uses extended-length Windows paths for deeply nested package files.

Install mason.nvim v2.3.1 with a Neovim plugin manager and call `require("mason").setup()`. Requires Neovim 0.10+ and package-specific external tools.

Now works: Run installed tool executables from Neovim terminal…Now works / inferred: Install, update, and uninstall language servers, de…

Seeded by @iluxav with Codex

Read the evidence
v2.3.0

Screen supported package installations with the optional Socket.dev firewall.

Details

Enable `firewall.enabled` to use Socket Firewall. New settings control npm install arguments and registry cache refresh; uninstall-success events now deliver their receipts.

Install mason.nvim v2.3.0 with a Neovim plugin manager and call `require("mason").setup()`. Requires Neovim 0.10+ and package-specific external tools.

Added: Screen supported package installations with the Soc…Added: Pass extra npm install arguments, such as an altern…Added: Choose the registry cache lifetime or turn off auto…Now works: Install selected package versions headlessly and ma…Behavior changed / inferred: Install selected package versions headlessly and ma…Now works: Install, update, and uninstall language servers, de…Now works / inferred: Run installed tool executables from Neovim terminal…

Seeded by @iluxav with Codex

Read the evidence
v2.2.1
with v2.2.0

Keep managing installed tools after their packages disappear from a registry.

Details

Installed packages missing from registries remain discoverable through their receipts, with removal notices. Installation finalization recovers from a known directory-rename failure on some filesystems.

Install mason.nvim v2.2.1 with a Neovim plugin manager and call `require("mason").setup()`. Requires Neovim 0.10+ and package-specific external tools.

Now works / inferred: Install, update, and uninstall language servers, de…Now works / inferred: Install, update, and uninstall language servers, de…Now works / inferred: Refresh package catalogs and choose which registrie…

Seeded by @iluxav with Codex

Read the evidence
v2.1.0

Install Python tools whose interpreter requirements use compatible-release expressions.

Details

Python version checks accept PEP 440 `~=` requirements. Source platform restrictions now apply across package source types.

Install mason.nvim v2.1.0 with a Neovim plugin manager and call `require("mason").setup()`. Requires Neovim 0.10+ and package-specific external tools.

Now works: Install, update, and uninstall language servers, de…Behavior changed / inferred: Refresh package catalogs and choose which registrie…Now works / inferred: Adjust the Mason window size, border, icons, and ke…Now works / inferred: Run installed tool executables from Neovim terminal…

Seeded by @iluxav with Codex

Read the evidence
v2.0.1

Download packages on systems using BusyBox wget.

Details

Mason supports BusyBox wget and corrects Windows executable lookup when Neovim uses a Unix shell.

Install mason.nvim v2.0.1 with a Neovim plugin manager and call `require("mason").setup()`. Requires Neovim 0.10+ and package-specific external tools.

Now works: Install, update, and uninstall language servers, de…Now works: Run installed tool executables from Neovim terminal…Behavior changed / inferred: Install, update, and uninstall language servers, de…

Seeded by @iluxav with Codex

Read the evidence
v2.0.0

See available versions and package source identifiers before installing a tool.

Details

The Mason window shows versions for uninstalled packages and package source URLs. Upgrading requires Neovim 0.10 or later and migration of affected Lua integrations.

Install mason.nvim v2.0.0 with a Neovim plugin manager and call `require("mason").setup()`. Requires Neovim 0.10+. Package-specific external tools may be required.

Behavior changed: Browse editor tools, filter them by language, and c…Now works: Browse editor tools, filter them by language, and c…Behavior changed: Adjust the Mason window size, border, icons, and ke…Behavior changed: Run installed tool executables from Neovim terminal…Behavior changed: Refresh package catalogs and choose which registrie…Action requiredAction requiredAction requiredAction requiredAction requiredAction requiredAction requiredBehavior changed: Install selected package versions headlessly and ma…Action required

Seeded by @iluxav with Codex

Read the evidence
v1.11.0

Use system-installed Python libraries from Mason-installed Python tools.

Details

Python virtual environments gain access to system site packages; interpreter selection checks package Python requirements. The Mason window gains a configurable backdrop.

Install mason.nvim v1.11.0 with a Neovim plugin manager and call `require("mason").setup()`. Requires Neovim 0.7+. Package-specific external tools may be required.

Behavior changed: Install, update, and uninstall language servers, de…Action required / inferredBehavior changed: Adjust the Mason window size, border, icons, and ke…Now works / inferred: Refresh package catalogs and choose which registrie…Now works: Browse editor tools, filter them by language, and c…

Seeded by @iluxav with Codex

Read the evidence
v1.10.0

Install Python-based tools using versioned Python executables found on PATH.

Details

Mason checks more Python 3 executable candidates and no longer uses `vim.g.python3_host_prog`; Go version lookup handles package subpaths.

Install mason.nvim v1.10.0 with a Neovim plugin manager and call `require("mason").setup()`. Requires Neovim 0.7+. Package-specific external tools may be required.

Behavior changed: Install, update, and uninstall language servers, de…Action required / inferredNow works: Install selected package versions headlessly and ma…

Seeded by @iluxav with Codex

Read the evidence
v1.9.0

Install editor tools distributed through Open VSX.

Details

Mason adds support for Open VSX package sources.

Install mason.nvim v1.9.0 with a Neovim plugin manager and call `require("mason").setup()`. Requires Neovim 0.7+. Package-specific external tools may be required.

Added / inferred: Install editor tools whose Mason package definition…

Seeded by @iluxav with Codex

Read the evidence
v1.8.3
Starting point

Install and manage external editor tools from inside Neovim.

Details

Use `:Mason` or `:MasonInstall` to manage packages, expose their executables in Neovim, and inspect installation logs.

Install mason.nvim v1.8.3 with a Neovim plugin manager and call `require("mason").setup()`. Requires Neovim 0.7+. Package-specific external tools may be required.

Added: Install, update, and uninstall language servers, de…Added: Browse editor tools, filter them by language, and c…Added: Run installed tool executables from Neovim terminal…Added: Install selected package versions headlessly and ma…Added: Refresh package catalogs and choose which registrie…Added: Inspect missing dependencies and installation logs…Added: Adjust the Mason window size, border, icons, and ke…

Seeded by @iluxav with Codex

Read the evidence