# Install zls with Homebrew, apk, Nix, pacman, scoop, winget, zypper

Language Server for Zig. Version 0.16.0 via Homebrew; verified 2026-06-14.

## Install

```sh
sudo av install brew:zls
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install zls
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add zls
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#zls
```

  Evidence: nixpkgs package indexes: zls from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S zls
```

  Evidence: Arch Linux sync databases: zls from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install zls
```

  Evidence: openSUSE Tumbleweed package metadata: zls from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/zls
```

  Evidence: Scoop official bucket manifest trees: bucket/zls.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id zigtools.zls -e
```

  Evidence: Windows Package Manager source index: zigtools.zls from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:zls
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/zls>
- **Version:** 0.16.0
- **Source summary:** Language Server for Zig
- **Homepage:** <https://zigtools.org/zls/>
- **Repository:** <https://github.com/zigtools/zls>
- **Upstream docs:** <https://github.com/zigtools/zls#readme>
- **License:** MIT
- **Source archive:** <https://github.com/zigtools/zls/archive/refs/tags/0.16.0.tar.gz>
- **Last updated:** 2026-06-14T14:04:18-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- zls (cli)
- zls (alias)

## Dependencies

- zig

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.16.0
- Package-manager updated: 2026-06-14
- Local data: ok
- Upstream repository: https://github.com/zigtools/zls
- Upstream latest detected: 0.16.0 (current)
## Project history and usage

ZLS is the Zig Language Server, a Zig implementation of the Language Server Protocol that provides editor features such as completion, hover, diagnostics, go-to-definition, formatting integration, semantic tokens, inlay hints, and code actions.

### Project history

The zigtools/zls repository was created in 2020, during Zig's pre-1.0 growth period when editor tooling had to track a moving compiler and standard library. The README describes ZLS as a non-official Language Server Protocol implementation for Zig written in Zig.

ZLS evolved together with the zigtools ecosystem. The zigtools site now groups ZLS with related projects such as the Zig Playground and Zig LSP Kit, the latter explicitly described as building blocks for LSP implementations like ZLS.

### Adoption history

ZLS became the de facto language-server choice for Zig developers because the Zig language tools page points users to zigtools/zls, and editor documentation focuses on wiring ZLS into everyday development. The official Zig VS Code workflow can install Zig and ZLS automatically, while other editors commonly ask users to install a matching zls binary themselves.

Because Zig changes quickly before 1.0, ZLS adoption is tied to version compatibility. The ZLS installation guide warns that tagged Zig releases should be paired with matching tagged ZLS releases, and nightly Zig builds should be paired with nightly ZLS builds. That makes the package especially relevant for package managers and dev shells.

### How it is used

ZLS runs as an editor-launched language server. Users normally configure their editor or LSP client to start zls, then get completion, hover, diagnostics, symbol navigation, formatting via zig fmt, semantic tokens, inlay hints, and code actions inside Zig projects.

The most common operational problem is keeping the Zig compiler and ZLS in sync. Package users often care less about invoking zls directly and more about whether their editor, PATH, and project toolchain resolve compatible Zig and ZLS builds.

### Why package nerds care

ZLS is one of the clearest examples of modern language tooling as a package-manager problem. A single executable unlocks editor support across many clients, but it must track a fast-moving compiler closely enough that mismatched packages produce confusing development failures.

For Zig users, installing zls is often the difference between syntax highlighting and a real IDE-like workflow, so it has become part of the standard systems-programming workstation kit.

### Timeline

- 2020-04-24: The zigtools/zls GitHub repository is created.
- 2020s: ZLS becomes the Zig community's primary LSP implementation.
- 2020s: The Zig tools page links to zigtools/zls under language servers.
- 2020s: The official Zig VS Code setup path gains automatic Zig and ZLS installation, while the ZLS guide continues to document source and binary installs.

### Related projects

- ziglang/zig is the compiler and standard library that ZLS must track closely.
- ziglang/vscode-zig is the official VS Code extension path that integrates with ZLS.
- Zig LSP Kit is a related zigtools project for building LSP implementations in Zig.
- The Language Server Protocol is the editor-server protocol ZLS implements.

### Sources

- <https://api.github.com/repos/zigtools/zls>
- <https://github.com/zigtools/zls>
- <https://ziglang.org/learn/tools/>
- <https://zigtools.org/>
- <https://zigtools.org/zls/editors/vscode/>
- <https://zigtools.org/zls/install/>


## Security Notes

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

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## 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: $local_config_dir/zls.json, $global_config_dir/zls.json
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** zls
- **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 - zls: normalized package name match | nixpkgs package indexes: zls from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- apk - zls - 0.15.0-r0: normalized package name match | Alpine Linux edge package indexes: zls from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zig Language Server | https://github.com/zigtools/zls
- pacman - zls - 0.15.1-1: normalized package name match | Arch Linux sync databases: zls from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A language server for Zig | https://github.com/zigtools/zls
- zypper - zls - 0.15.0-2.4: normalized package name match | openSUSE Tumbleweed package metadata: zls from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Language server implementation for Zig in Zig | https://github.com/zigtools/zls
- Scoop - main/zls: normalized package name match | Scoop official bucket manifest trees: bucket/zls.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - zigtools.zls: normalized package name match | Windows Package Manager source index: zigtools.zls from https://cdn.winget.microsoft.com/cache/source.msix


## 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.
- [gopls](https://www.automicvault.com/pkg/brew/gopls/) - Shares av.db curated category or tags: cli, developer-tools, editor-integration, language-server, lsp.
- [jq-lsp](https://www.automicvault.com/pkg/brew/jq-lsp/) - Shares av.db curated category or tags: cli, developer-tools, editor-integration, 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, editor-integration, 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.
- [codebook-lsp](https://www.automicvault.com/pkg/brew/codebook-lsp/) - Shares av.db curated category or tags: cli, developer-tools, editor-integration, language-server, lsp.
- [dhall-lsp-server](https://www.automicvault.com/pkg/brew/dhall-lsp-server/) - Shares av.db curated category or tags: cli, developer-tools, editor-integration, language-server, lsp.
- [efm-langserver](https://www.automicvault.com/pkg/brew/efm-langserver/) - Shares av.db curated category or tags: cli, developer-tools, editor-integration, language-server, lsp.
- [expert](https://www.automicvault.com/pkg/brew/expert/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.

## Combined YAML source

View the package source record on GitHub. [combined/zls.yml](https://github.com/automic-vault/db/blob/main/combined/zls.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
