BooTTY

January 13, 2026 ยท View on GitHub

An alternative terminal extension for VS Code powered by Ghostty's terminal emulation (libghostty-vt) via WebAssembly.

Pronounced "Boo-T-T-Y" ๐Ÿ‘ป

Note: This is an unofficial community project. It is not affiliated with or endorsed by the Ghostty project.

Performance: The underlying ghostty-web library and WASM builds have not been optimized for web/VS Code environments. Performance may not match native terminal emulators. This is expected and improvements are ongoing upstream.

Features

  • Ghostty's terminal emulation - VT100/xterm escape sequence parsing via libghostty-vt WASM
  • Real PTY integration - Full terminal emulation with native shell support
  • Panel and editor terminals - Open terminals in the bottom panel or as editor tabs
  • Multi-tab support - Multiple terminal sessions in the panel view
  • Theme integration - Automatically uses VS Code's color theme
  • File path detection - Ctrl/Cmd+click to open files from terminal output

How It Works

This extension uses two main components:

  1. libghostty-vt (WASM) - Ghostty's terminal emulation library handles:

    • VT100/xterm escape sequence parsing
    • Terminal state management (cells, cursor, scrollback)
    • Unicode/grapheme handling
    • Key encoding (Kitty protocol, xterm modifyOtherKeys)
  2. Canvas2D Renderer (JavaScript) - The extension renders the terminal using:

    • HTML5 Canvas with 2D context
    • Dirty line tracking for efficient updates
    • VS Code theme color integration

Note: This extension uses Canvas2D rendering, not WebGL. GPU-accelerated WebGL rendering is a potential future enhancement.

Installation

Search for "BooTTY" in the VS Code extensions marketplace, or install from the command line:

code --install-extension bigboss.bootty

Usage

ActionWindows/LinuxmacOS
Toggle terminal panelCtrl+`Cmd+`
New terminalCtrl+Shift+`Cmd+Shift+`
New terminal in panelCtrl+Shift+TCmd+Shift+T
Next tabCtrl+Shift+]Cmd+Shift+]
Previous tabCtrl+Shift+[Cmd+Shift+[

You can also use the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):

  • BooTTY: New Terminal
  • BooTTY: New Terminal in Editor
  • BooTTY: New Terminal in Panel
  • BooTTY: Toggle Terminal Panel

Configuration

SettingDefaultDescription
bootty.fontFamily""Font family (empty = use editor font)
bootty.fontSize0Font size in pixels (0 = use editor size)
bootty.defaultTerminalLocation"panel"Where new terminals open ("panel" or "editor")
bootty.bell"visual"Bell style ("visual" or "none")
bootty.notificationstrueShow notifications from terminal apps (OSC 9)

Requirements

  • VS Code 1.106.0 or later
  • macOS, Linux, or Windows

Credits

  • Ghostty by Mitchell Hashimoto - The terminal emulator whose VT100 parser (libghostty-vt) powers this extension
  • ghostty-web by Coder - WebAssembly bindings and Canvas2D renderer for libghostty-vt

License

MIT - See LICENSE for details.