Skip to content

Terminal options

Create a terminal with Terminal.create(options). The main entry takes GhosttyWebGpuTerminalOptions; /worker takes WorkerTerminalOptions. The generated API below this page is built from the current declarations.

OptionPurposeWhen omitted
appearanceFont, theme, cursor, grid and history budgetsNative appearance defaults
rendererModeauto, canvas2d-fill-text, canvas2d-pixelsAutomatic fallback selection
rendererFactoryHost-owned renderer constructionBuilt-in selection
keyboardEnable keyboard inputEnabled
accessibilityText mirror and live-region options, or falseOff
clipboardWritePolicy for OSC 52 writesDenied
extensionsNative extension registrationsEmpty
linksLink resolution policyBuilt-in URL and OSC 8 handling
paddingInsets around the terminal gridHost defaults
scrollbarScrollbar presentationHost defaults
runtimeReuse a session runtimeCreate the terminal runtime
OptionPurposeWhen omitted
fontsWorker font faces by URL or bytesRequired array
backendauto, webgpu, webglauto
assetsHosted wasm and bridge URLsPackage-relative files
workerUrlHosted worker modulePackage worker
appearanceSame appearance modelNative defaults, first supplied font family

font has family, size, lineHeight, letterSpacing, weight and boldWeight. cursor has style and blink. theme carries named RGB colors and the palette. scrollbackLimit and scrollbackByteLimit bound retained history. grid carries cell dimensions, columns, rows and pixel ratio.

For working setups, read fonts, themes, scrollback and workers.