Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Ghostty TerminalNew to Visual Studio Code? Get it now.
Ghostty Terminal

Ghostty Terminal

TobiLG

|
2 installs
| (0) | Free
Terminal powered by ghostty-web (WASM) instead of xterm.js
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Ghostty Terminal

A VS Code extension that provides a terminal powered by ghostty-web (WASM) instead of xterm.js. The terminal renders inside a VS Code WebviewPanel and connects to a real shell process via node-pty.

Features

  • Full terminal emulator using Ghostty's battle-tested VT100 parser compiled to WASM
  • Multiple simultaneous terminal instances
  • Configurable shell, font, cursor, scrollback, and color themes
  • Built-in themes: Dark, Light, Tokyo Night, Dracula, Solarized Dark
  • Inherits VS Code's terminal.integrated.fontSize and terminal.integrated.fontFamily by default
  • Live config updates (font, theme, cursor changes apply immediately)

Installation

npm install
npm run build

Then press F5 in VS Code to launch the Extension Development Host.

Usage

  • Command Palette (Cmd+Shift+P / Ctrl+Shift+P):
    • Ghostty Terminal: New Terminal — open a new terminal
    • Ghostty Terminal: Clear Active Terminal — clear the active terminal
    • Ghostty Terminal: Kill Active Terminal — kill the active terminal
    • Ghostty Terminal: Focus Active Terminal — focus the active terminal
  • Keyboard shortcut: Cmd+Shift+`` (macOS) / Ctrl+Shift+`` (Windows/Linux) — new terminal

Configuration

All settings are under the ghosttyTerminal namespace.

Setting Default Description
shell "" (auto-detect) Shell executable path
shellArgs [] Arguments passed to the shell
fontSize 0 (inherit) Font size in pixels. 0 inherits from terminal.integrated.fontSize
fontFamily "" (inherit) Font family. Empty inherits from terminal.integrated.fontFamily
theme "dark" Color theme: dark, light, tokyo-night, dracula, solarized-dark, or custom
theme.background "#1e1e1e" Background color (only used with custom theme)
theme.foreground "#d4d4d4" Foreground color (only used with custom theme)
scrollback 10000 Number of scrollback lines
cursorStyle "underline" Cursor style: block, underline, or bar
cursorBlink true Whether the cursor blinks
copyOnSelect false Automatically copy selected text to clipboard

Architecture

Extension Host (Node.js)                Webview (Chromium sandbox)
┌─────────────────────────┐             ┌─────────────────────────┐
│  GhosttyTerminalManager │             │  ghostty-web (WASM)     │
│  GhosttyTerminalPanel   │ ◄─────────► │  Terminal + FitAddon    │
│  PtyBridge (node-pty)   │ postMessage │  CanvasRenderer         │
└─────────────────────────┘             └─────────────────────────┘
  • Extension host spawns the shell via node-pty and manages the WebviewPanel
  • Webview runs ghostty-web's WASM terminal emulator in a canvas
  • Communication is via VS Code's postMessage API

Known Limitations

  • The terminal appears in the editor area as a WebviewPanel, not in VS Code's native terminal tab bar
  • Does not appear in vscode.window.terminals (not accessible by other extensions)
  • File drag & drop from Finder/Explorer does not work (webview sandbox blocks file path access)
  • Requires macOS, Linux, or Windows 10 build 18309+ (ConPTY)
  • Does not support VS Code for the Web (node-pty requires native Node.js)

Development

npm install
npm run build    # one-time build
npm run watch    # rebuild on changes
npm run compile  # type-check only

Press F5 in VS Code to launch the Extension Development Host for testing.

License

See LICENSE.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft