Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Teleport WorkbenchNew to Visual Studio Code? Get it now.
Teleport Workbench

Teleport Workbench

Bolttech Portugal

|
2 installs
| (0) | Free
Manage Teleport (tsh) logins, resources, and local proxies from VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Teleport Workbench (VS Code extension)

A native VS Code extension for managing Teleport (tsh) logins, resources, and local proxies. It's a ground-up redesign of the Wails desktop app (tsh-gui), built around VS Code's own shell instead of reimplementing an explorer, editor, and window chrome.

What it does

  • Connection projects (.tsh files). Opening a .tsh file shows a connection screen (custom editor): the list of proxies, their live status, and start/stop controls. Use Teleport: Open Project as JSON to edit the raw file.
  • Login state in the status bar. A status-bar item shows the current tsh login (user@cluster) and expiry; click it to log in.
  • Proxies. Start/stop individual proxies or the whole project. Each proxy runs a tsh proxy … process; output streams to the Teleport output channel.
  • Readiness actions. Each proxy surfaces the single next step it needs — log in, switch cluster, request access, or start — based on session state and observed tsh errors.
  • SSH sessions open as real VS Code integrated terminals.
  • Port conflicts. Starting a proxy on a busy port offers to kill the conflicting process (via lsof/ss).
  • Kubernetes context switching against a workbench-scoped KUBECONFIG, so it never clobbers your global kubeconfig.

Requirements

  • The tsh CLI on your PATH (or set teleport.tshPath).
  • lsof or ss for port-conflict detection (optional).

Architecture

The extension host (Node/TS) reimplements the Go backend:

Concern Module
tsh CLI wrappers src/tsh/
Project model / validation / args src/model/project.ts
Readiness state machine src/model/readiness.ts
Connection-string derivation src/model/connstring.ts
Proxy process manager src/proxy/manager.ts
Port lookup / kill src/proxy/port.ts
SSH terminal (node-pty) src/ssh/terminal.ts
Session + status bar src/session.ts
Custom editor (connection UI) src/editor/ + media/
Prompts (add/edit proxy) src/ui/proxyPrompt.ts

Development

npm install
npm run watch     # esbuild in watch mode
# Press F5 in VS Code to launch an Extension Development Host
npm run typecheck # tsc --noEmit
npm run build     # production bundle

node-pty is a native module and is kept external (not bundled). It is required only for SSH terminals; the rest of the extension works without it.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft