Installation
fish-lsp requires Node.js >= 20 (the project is developed against
node@22.14.0). Some language clients — e.g. the
VSCode /
VSCodium extension — bundle
the server for you, so manual installation isn't always required.
For everyone else, pick one of the methods below.
Package Manager
Pick your package manager. Stability across package managers can vary — if one gives you trouble, try another method.
Note
Package availability and freshness vary by ecosystem. The npm registry always has the latest release.
Standalone Binary
Download the pre-built standalone binary directly from the GitHub releases — no Node.js or package manager required.
# Download the latest standalone binary
curl -L https://github.com/ndonfris/fish-lsp/releases/latest/download/fish-lsp.standalone \
-o ~/.local/bin/fish-lsp
# Make it executable
chmod +x ~/.local/bin/fish-lsp
Important
Ensure ~/.local/bin is in your $PATH so the fish-lsp command is found.
Build from Source
Warning
Recommended toolchain: yarn@1.22.22, node@22.14.0, fish@4.0.8.
git clone https://github.com/ndonfris/fish-lsp && cd fish-lsp
yarn install && yarn build # links ./dist/fish-lsp into your `yarn global bin` $PATH
Need more detail? See the full building from source guide →
Shell Completions
Generate fish completions for the fish-lsp command itself:
fish-lsp complete > ~/.config/fish/completions/fish-lsp.fish
Note
Completions are needed for package-manager installs. Source builds write them
automatically during yarn build.
Verify the Installation
# show the help output
fish-lsp --help
# show build version, paths, and health
fish-lsp info
# verify the server indexes & parses your fish files correctly during startup
fish-lsp info --time-only
If fish-lsp isn't found afterwards, confirm the install location is on your
$PATH (fish-lsp info --bin prints the resolved binary path).
For more info, check out debugging
Next Steps
After installing, configure your editor to launch
fish-lsp start for fish files, and optionally tune the server settings.