macOS
brew install bash-language-serverlocal Homebrew formula metadata
sudo port install bash-language-serverMacPorts ports tree · devel/bash-language-server/Portfile · source: api.github.com
brew
Language Server for Bash. Version 5.6.0 via Homebrew; verified from local package data.
install
brew install bash-language-serverlocal Homebrew formula metadata
sudo port install bash-language-serverMacPorts ports tree · devel/bash-language-server/Portfile · source: api.github.com
nix profile install nixpkgs#bash-language-servernixpkgs package indexes · pkgs/by-name/ba/bash-language-server/package.nix · source: api.github.com
sudo pacman -S bash-language-serverArch Linux sync databases · bash-language-server · source: geo.mirror.pkgbuild.com
overview
Language Server for Bash
history
Bash Language Server is an implementation of the Language Server Protocol for shell scripts. It packages the modern editor-LSP idea for one of the oldest daily-use programming environments: Bourne-style shell scripting.
The official README describes Bash Language Server as bringing an IDE-like experience for Bash scripts to most editors. It is based on the Tree-sitter Bash parser and integrates with explainshell, ShellCheck, and shfmt.
The project is written for editor integration rather than direct end-user scripting. Its releases are split across server and VS Code client tags, and the README documents installing the server binary from npm or distribution packages for editors that already have generic LSP clients.
Its adoption follows the spread of LSP support from VS Code into Vim, Neovim, Emacs, Sublime Text, Helix, Eclipse, JupyterLab, and other editors. The official README lists clients for all of those editor families, which is the project's real adoption story: one server reused by many editor integrations.
The batch input shows Homebrew, MacPorts, Nix, and Arch packaging. That packaging matters because shell scripting is often edited outside Node-centric workflows, so system package managers make the server available to users who only need the `bash-language-server` executable.
Users install `bash-language-server`, configure an editor LSP client to run `bash-language-server start`, and optionally install ShellCheck for diagnostics and shfmt for formatting. The README includes editor-specific setup snippets for Vim, Neovim, coc.nvim, ALE, Emacs lsp-mode, Emacs eglot, and other clients.
Configuration is mainly editor/workspace configuration plus environment variables such as `BASH_IDE_LOG_LEVEL`; the README points detailed configuration variables to the project's `config.ts` source.
Bash Language Server is package-nerd interesting because it makes shell tooling look like the rest of the LSP era. Instead of each editor shipping its own Bash intelligence, package managers can distribute one server that composes Tree-sitter parsing, ShellCheck linting, shfmt formatting, and editor-native LSP clients.
It is also a reminder that even mature Unix scripting ecosystems keep absorbing new developer-tool protocols. The package is small, but it connects Bash to modern editor workflows without replacing Bash itself.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
bash-language-server | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/bash-lsp/bash-language-server
install metadata
| Package key | brew:bash-language-server |
|---|---|
| Version | 5.6.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/bash-language-server |
| Homepage | https://github.com/bash-lsp/bash-language-server |
| Repository | https://github.com/bash-lsp/bash-language-server |
| Upstream docs | https://github.com/bash-lsp/bash-language-server#readme |
| License | MIT |
| Source archive | https://registry.npmjs.org/bash-language-server/-/bash-language-server-5.6.0.tgz |
| Dependencies | node |
| Bottle | available (on all) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | bash-language-server |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
bash-language-server
nix profile install nixpkgs#bash-language-serverbash-language-server 5.6.0-1
Bash language server implementation based on Tree Sitter and its grammar for Bash
https://github.com/bash-lsp/bash-language-server
sudo pacman -S bash-language-serverbash-language-server
sudo port install bash-language-serversource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.