# Install lspmux with Homebrew, apk, Nix

Share one language instance between multiple LSP clients to save resources. Version 0.3.0 via Homebrew; verified 2026-07-15. Also installable with nix: nix profile install nixpkgs#lspmux.

## Install

```sh
sudo av install brew:lspmux
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install lspmux
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add lspmux
```

  Evidence: Alpine Linux edge package indexes: lspmux from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#lspmux
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ls/lspmux/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:lspmux
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/lspmux>
- **Version:** 0.3.0
- **Source summary:** Share one language instance between multiple LSP clients to save resources
- **Homepage:** <https://codeberg.org/p2502/lspmux>
- **Repository:** <https://codeberg.org/p2502/lspmux>
- **Upstream docs:** <https://codeberg.org/p2502/lspmux>
- **License:** EUPL-1.2
- **Source archive:** <https://codeberg.org/p2502/lspmux/archive/v0.3.0.tar.gz>
- **Last updated:** 2026-07-15T08:34:20Z
- **Generated:** 2026-07-26T07:20:29+00:00

## Executables

- lspmux (cli)
- lspmux (alias)

## Dependencies

- rust-analyzer

## Build dependencies

- rust

## Install behavior

- Post-install hook: not defined
- Service: declared
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-26
- Package-manager version: 0.3.0
- Package-manager updated: 2026-07-15
- Local data: ok
- Upstream repository: https://codeberg.org/p2502/lspmux
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

lspmux is a Language Server Protocol multiplexer that lets multiple editor clients share one language-server instance per workspace. Its README describes it as a proxy and client shim that multiplexes editor connections onto the appropriate language server to save resources.

### Project history

The project started as ra-multiplex, focused on rust-analyzer. Its changelog shows early releases in January and February 2022 adding configuration, removing a nightly Rust requirement, improving client/server behavior, and adding initial support for language servers other than rust-analyzer.

In 2024, the project added status and reload commands, native LSP initialize-message handshakes, Unix socket support, and environment filtering. In October 2025, it migrated to Codeberg, changed license to EUPL-1.2, and was renamed from ra-multiplex to lspmux to reflect its broader language-server scope.

### Adoption history

lspmux is a niche developer tool aimed at users who run multiple editor windows or clients against the same workspace. The README points users to Cargo installation and package-manager availability through Repology, while the supplied package facts list Homebrew, Alpine, and Nix.

### How it is used

The usual setup is to run `lspmux server` as a user service and configure an editor to use `lspmux` as the language-server executable or connect directly to the lspmux socket. The README gives examples for rust-analyzer, CoC in Neovim, clangd, systemd user services on Linux, and launchd services on macOS.

Configuration is optional and stored in a TOML file in the system default configuration directory, with `~/.config/lspmux/config.toml` given as the Unix example. The README documents defaults for instance timeout, garbage-collection interval, TCP or Unix-socket listen/connect addresses, logging filters, and environment-variable filtering.

### Why package nerds care

lspmux matters to package nerds because it is a resource-control tool for the LSP era. Rather than replacing an editor or a language server, it sits in the middle and makes repeated editor sessions cheaper, especially for heavy servers such as rust-analyzer.

### Timeline

- 2022: ra-multiplex 0.1.x releases add configuration and early support for non-rust-analyzer servers.
- 2024: 0.2.x releases add status/reload commands, Unix sockets, native LSP handshake changes, and environment filtering.
- 2025: Repository migrates to Codeberg and license changes to EUPL-1.2.
- 2025: Project is renamed from ra-multiplex to lspmux in v0.3.0.

### Related projects

- Related projects include rust-analyzer, clangd, Neovim LSP clients, CoC, and the Language Server Protocol itself.

### Sources

- <https://codeberg.org/p2502/lspmux>
- <https://codeberg.org/p2502/lspmux/raw/branch/main/CHANGELOG.md>
- <https://codeberg.org/p2502/lspmux/raw/branch/main/README.md>
- source_facts.package-manager


## Security Notes

broad file, network, media, or database tool signal. formula declares a Homebrew service.

- **Geiger risk:** orange / medium
- broad file, network, media, or database tool signal
- formula declares a Homebrew service


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.config/lspmux/config.toml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** lspmux
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - lspmux: normalized package name match | nixpkgs package indexes: pkgs/by-name/ls/lspmux/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - lspmux - 0.3.0-r0: normalized package name match | Alpine Linux edge package indexes: lspmux from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Share one instance of an LSP between multiple clients | https://codeberg.org/p2502/lspmux
- apk - lspmux-doc - 0.3.0-r0: normalized package name match | Alpine Linux edge package indexes: lspmux-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Share one instance of an LSP between multiple clients (documentation) | https://codeberg.org/p2502/lspmux


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [rust-analyzer](https://www.automicvault.com/pkg/brew/rust-analyzer/) - Runtime dependency declared by Homebrew.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [actions-languageserver](https://www.automicvault.com/pkg/brew/actions-languageserver/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [ansible-language-server](https://www.automicvault.com/pkg/brew/ansible-language-server/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [expert](https://www.automicvault.com/pkg/brew/expert/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [gopls](https://www.automicvault.com/pkg/brew/gopls/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [jq-lsp](https://www.automicvault.com/pkg/brew/jq-lsp/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [postgres-language-server](https://www.automicvault.com/pkg/brew/postgres-language-server/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [python-lsp-server](https://www.automicvault.com/pkg/brew/python-lsp-server/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [ruby-lsp](https://www.automicvault.com/pkg/brew/ruby-lsp/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [git-pages](https://www.automicvault.com/pkg/brew/git-pages/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, developer, developer-tools, server.
- [git-pages-cli](https://www.automicvault.com/pkg/brew/git-pages-cli/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, developer, developer-tools, server.

## Combined YAML source

View the package source record on GitHub. [combined/lspmux.yml](https://github.com/automic-vault/db/blob/main/combined/lspmux.yml)


## Sources

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