macOS
brew install terraform-lslocal Homebrew formula metadata
sudo port install terraform-lsMacPorts ports tree · devel/terraform-ls/Portfile · source: api.github.com
brew
Terraform Language Server. Version 0.38.8 via Homebrew; verified 2026-07-02.
install
brew install terraform-lslocal Homebrew formula metadata
sudo port install terraform-lsMacPorts ports tree · devel/terraform-ls/Portfile · source: api.github.com
nix profile install nixpkgs#terraform-lsnixpkgs package indexes · pkgs/by-name/te/terraform-ls/package.nix · source: api.github.com
scoop install main/terraform-lsScoop official bucket manifest trees · bucket/terraform-ls.json · source: api.github.com
winget install --id Hashicorp.TerraformLanguageServer -eWindows Package Manager source index · Hashicorp.TerraformLanguageServer · source: cdn.winget.microsoft.com
overview
Terraform Language Server
history
terraform-ls is HashiCorp's official Terraform language server. It implements IDE features for LSP-compatible editors, including Terraform-oriented completion, diagnostics, formatting-related editor flows, go-to-definition, and workspace indexing.
The hashicorp/terraform-ls repository was created on GitHub in February 2020. The README identifies it as the official Terraform language server maintained by HashiCorp and says it provides IDE features to any editor compatible with the Language Server Protocol.
The project followed an incremental release model from the beginning. Its README says not all language features are available at any one time and describes the project as actively delivering smaller updates. It also credits prior research and language-server implementation work, including Julio Sueiras's terraform-lsp.
terraform-ls became the common packaged binary behind Terraform editor integrations. Its installation docs say some editors install and update the server automatically, including HashiCorp's Terraform VS Code extension and Sublime Text LSP-terraform, while manual installation is available through Homebrew, HashiCorp's apt/RPM repositories, and release archives.
The input package facts list Homebrew, MacPorts, Nix, Scoop, and winget packaging. That multi-platform packaging matters because language servers must be discoverable by editors on developer workstations, not only by Terraform users inside a single operating-system or language package ecosystem.
The normal interaction is through an IDE or editor plugin rather than by running ad hoc commands. The usage guide documents Terraform-related language IDs for `.tf`, `.tfvars`, Terraform Stack, Terraform Deploy, and Terraform Search files, and recommends opening folders so the server can index the workspace.
Manual editor configurations commonly invoke `terraform-ls serve`. The official usage guide includes examples for VS Code, Sublime Text, Vim, Neovim, coc.nvim, vim-lsp, YouCompleteMe, LanguageClient-neovim, and nvim-lspconfig.
terraform-ls is important to package-manager users because it turns Terraform editor support into a separately versioned, installable binary. That matches the broader LSP model: editors can remain thin clients while the domain-specific intelligence ships as a command-line server.
For infrastructure developers, having terraform-ls in Homebrew, Nix, MacPorts, Scoop, winget, and HashiCorp package repositories means editor setups can be made reproducible in dotfiles, devcontainers, and workstation bootstrap scripts.
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 |
|---|---|---|---|
terraform-ls | 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/hashicorp/terraform-ls
install metadata
| Package key | brew:terraform-ls |
|---|---|
| Version | 0.38.8 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/terraform-ls |
| Homepage | https://github.com/hashicorp/terraform-ls |
| Repository | https://github.com/hashicorp/terraform-ls |
| Upstream docs | https://github.com/hashicorp/terraform-ls#readme |
| License | MPL-2.0 |
| Source archive | https://github.com/hashicorp/terraform-ls/archive/refs/tags/v0.38.8.tar.gz |
| Last updated | 2026-07-02T12:13:07Z |
| Pulse | updated |
| Build dependencies | go |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | terraform-ls |
| 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 |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
terraform-ls
nix profile install nixpkgs#terraform-lsterraform-ls
sudo port install terraform-lsmain/terraform-ls
scoop install main/terraform-lsHashicorp.TerraformLanguageServer
winget install --id Hashicorp.TerraformLanguageServer -esource 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.