# Install vtsls with Homebrew, Nix

LSP wrapper for typescript extension of vscode. Version 0.3.0 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#vtsls.

## Install

```sh
sudo av install brew:vtsls
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install vtsls
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#vtsls
```

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

## Package facts

- **Package key:** brew:vtsls
- **Package manager:** Homebrew
- **Version:** 0.3.0
- **Source summary:** LSP wrapper for typescript extension of vscode
- **Homepage:** <https://github.com/yioneko/vtsls>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- vtsls (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.3.0
## Project history and usage

vtsls is a TypeScript language server that wraps the TypeScript extension bundled with Visual Studio Code and exposes it through the Language Server Protocol. Its goal is to give non-VS Code editors access to behavior close to VS Code's TypeScript experience while minimizing patches against upstream VS Code code.

### Project history

The public repository was created on 2022-11-20, and the npm package `@vtsls/language-server` was first published on 2022-12-12. The README emphasizes a maintenance strategy: fill enough VS Code APIs and apply only small patches so the wrapper can track upstream VS Code TypeScript extension changes.

### Adoption history

vtsls found its niche in editor communities that wanted richer TypeScript and JavaScript behavior than older generic tsserver LSP adapters provided. Its README lists Neovim integration through nvim-lspconfig and nvim-vtsls, and Vue language tooling later referenced vtsls as part of the non-VS Code editor story for Vue 3 language-server integration.

### How it is used

Typical use is to install `@vtsls/language-server` and launch `vtsls --stdio` from an LSP client. Users can rely on the bundled TypeScript version, switch to the workspace TypeScript version, tune tsserver memory for large projects, and expose VS Code-like TypeScript commands such as organize imports, reload projects, source definitions, and tsserver requests.

### Why package nerds care

vtsls matters because it packages the VS Code TypeScript extension model for editors that speak LSP. It sits in the space between `typescript-language-server`, coc-tsserver, editor-specific plugins, and framework language servers such as Vue's, so package users care less about a standalone CLI UX and more about whether their editor can launch the binary and coordinate TypeScript plugins correctly.

### Timeline

- 2022-11-20: GitHub repository created.
- 2022-12-12: `@vtsls/language-server` first published to npm.
- 2025-06-29: Vue language-tools discussion for version 3 documents client-side coordination with TypeScript language servers and mentions vtsls support.
- 2025-12-24: npm metadata records version 0.3.0 publication.

### Related projects

- typescript-language-server and coc-tsserver are adjacent TypeScript LSP or editor-integration projects.
- Vue Language Tools can use TypeScript language-server coordination in non-VS Code editors, making vtsls relevant for Vue users as well as TypeScript users.

### Sources

- <https://api.github.com/repos/yioneko/vtsls - GitHub repository creation and activity metadata.>
- <https://github.com/vuejs/language-tools/discussions/5456 - Vue language-tools version 3 non-VS Code editor migration discussion.>
- <https://github.com/yioneko/vtsls - official README, usage, design notes, commands, and integrations.>
- <https://registry.npmjs.org/@vtsls/language-server - npm package metadata and publication dates.>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Nix - vtsls: normalized package name match | nixpkgs package indexes: pkgs/by-name/vt/vtsls/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/vtsls.yml](https://github.com/mxcl/pkgdb/blob/main/combined/vtsls.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
