Automic VaultAutomic Vault

brew

Install bash-language-server with Homebrew, MacPorts, Nix, pacman

Language Server for Bash. Version 5.6.0 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install bash-language-server

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install bash-language-server

MacPorts ports tree · devel/bash-language-server/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#bash-language-server

nixpkgs package indexes · pkgs/by-name/ba/bash-language-server/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S bash-language-server

Arch Linux sync databases · bash-language-server · source: geo.mirror.pkgbuild.com

overview

Package summary

Language Server for Bash

Commands and aliases

  • bash-language-server

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2010s: Language Server Protocol adoption makes reusable editor backends common outside VS Code.
  • 2010s: Bash Language Server appears with separate server and VS Code client release tags.
  • 2020s: README documents broad editor support including Vim, Neovim, Emacs, Sublime Text, Helix, Eclipse, and JupyterLab.
  • 2020s: Homebrew, MacPorts, Nix, and Arch package the server executable.

Related projects

  • The official README names Tree-sitter Bash, explainshell, ShellCheck, and shfmt as the main related projects. It also relates the server to editor LSP clients such as Bash IDE for VS Code, vim-lsp, nvim-lspconfig, coc.nvim, ALE, lsp-mode, and eglot.

Sources

  • Official GitHub releases page exposes server and VS Code client release streams.
  • Official README describes the LSP purpose, Tree-sitter basis, ShellCheck and shfmt integrations, installation, clients, and logging.
  • Official config.ts is cited by the README for configuration variables.
  • input.source_facts.package-manager lists Homebrew, MacPorts, Nix, and Arch packaging.

security posture

Risk level: blue

broad file, network, media, or database tool signal.

Risk classifier

blue risk · medium confidence · tool

Why

  • broad file, network, media, or database tool signal

Signals

  • text:server

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 1 platform targets.
  • Installs with 1 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
bash-language-servercliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version5.6.0
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/bash-lsp/bash-language-server

install metadata

Package metadata

Package keybrew:bash-language-server
Version5.6.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/bash-language-server
Homepagehttps://github.com/bash-lsp/bash-language-server
Repositoryhttps://github.com/bash-lsp/bash-language-server
Upstream docshttps://github.com/bash-lsp/bash-language-server#readme
LicenseMIT
Source archivehttps://registry.npmjs.org/bash-language-server/-/bash-language-server-5.6.0.tgz
Dependenciesnode
Bottleavailable (on all)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namebash-language-server
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

bash-language-server

nix profile install nixpkgs#bash-language-server
  • normalized package name match
  • Matched by: Bash Language Server
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ba/bash-language-server/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
pacman95%

bash-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-server
  • License: MIT
  • Architecture: any
  • 1 dependencies
  • 4 optional deps
  • normalized package name match
  • Matched by: Bash Language Server
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: bash-language-server from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
MacPorts95%

bash-language-server

sudo port install bash-language-server
  • normalized package name match
  • Matched by: Bash Language Server
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/bash-language-server/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment