Automic VaultAutomic Vault

brew

Install terraform-ls with Homebrew, MacPorts, Nix, scoop, winget

Terraform Language Server. Version 0.38.8 via Homebrew; verified 2026-07-02.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install terraform-ls

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install terraform-ls

MacPorts ports tree · devel/terraform-ls/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#terraform-ls

nixpkgs package indexes · pkgs/by-name/te/terraform-ls/package.nix · source: api.github.com

Windows

Scoopverified · 92%
scoop install main/terraform-ls

Scoop official bucket manifest trees · bucket/terraform-ls.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id Hashicorp.TerraformLanguageServer -e

Windows Package Manager source index · Hashicorp.TerraformLanguageServer · source: cdn.winget.microsoft.com

overview

Package summary

Terraform Language Server

Commands and aliases

  • terraform-ls

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2020: GitHub repository created.
  • 2020: Early v0.5.x through v0.11.0 releases published.
  • 2020: Installation docs documented Homebrew and HashiCorp-maintained Linux packages.
  • 2026: v0.38.8 listed as the latest GitHub release during research.
  • 2026: v0.39.0 beta releases were also listed during research.

Related projects

  • The README ties terraform-ls to Terraform, HCL, the Language Server Protocol, HashiCorp's Terraform VS Code extension, Sublime Text LSP-terraform, and the earlier terraform-lsp implementation credited in the project.

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 6 platform targets.
  • Build metadata lists 1 build 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
terraform-lscliglobal 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 version0.38.8
manager updated2026-07-02
local dataok
upstreamcurrent
latest detectedv0.38.8

https://github.com/hashicorp/terraform-ls

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:terraform-ls
Version0.38.8
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/terraform-ls
Homepagehttps://github.com/hashicorp/terraform-ls
Repositoryhttps://github.com/hashicorp/terraform-ls
Upstream docshttps://github.com/hashicorp/terraform-ls#readme
LicenseMPL-2.0
Source archivehttps://github.com/hashicorp/terraform-ls/archive/refs/tags/v0.38.8.tar.gz
Last updated2026-07-02T12:13:07Z
Pulseupdated
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameterraform-ls
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • 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%

terraform-ls

nix profile install nixpkgs#terraform-ls
  • normalized package name match
  • Matched by: Terraform Ls
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/te/terraform-ls/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
MacPorts95%

terraform-ls

sudo port install terraform-ls
  • normalized package name match
  • Matched by: Terraform Ls
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/terraform-ls/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Scoop95%

main/terraform-ls

scoop install main/terraform-ls
  • normalized package name match
  • Matched by: Terraform Ls
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/terraform-ls.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
winget95%

Hashicorp.TerraformLanguageServer

winget install --id Hashicorp.TerraformLanguageServer -e
  • normalized package name match
  • Matched by: Terraform Ls
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: Hashicorp.TerraformLanguageServer from https://cdn.winget.microsoft.com/cache/source.msix

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