A terminal emulator in pure Go._

Falcon is a modern, full-featured terminal emulator on par with Ghostty, iTerm2, WezTerm and others — written in pure Go on go-term and the go-gui framework. A real shell over a PTY, rendered on the GPU, with tabs and panes. macOS, Linux, Windows.

falcon
$ brew install go-gui-org/tap/falcon
$ falcon # tabs, panes, GPU rendering — real PTY underneath

Prebuilt binaries attach to each go-term release. macOS builds are ad-hoc signed: on first launch, right-click the app and choose Open.

demo

falcon — demo

falcon(1)

NAME

falcon — terminal emulator on go-term and go-gui. Reference embedder for multi-tab, multi-pane workspaces with save and restore.

SYNOPSIS

falcon [--workspace path] [--save-workspace path]
       [--record session.gtr] [--replay session.gtr]
       [--replay-speed n] [--replay-idle-limit dur] [--replay-loop]

DESCRIPTION

Falcon spawns a real shell over a PTY and renders through a GPU-accelerated draw canvas. It covers the protocol surface modern CLI tools expect: 24-bit Truecolor, Sixel and Kitty graphics, Kitty Keyboard Protocol, bracketed paste, scrollback with search and shell marks.

Quitting saves the tab and pane layout; the next launch restores it. New tabs and splits inherit the focused pane's working directory.

KEY BINDINGS (SAMPLING)

Cmd+D / Cmd+Shift+DSplit vertically / horizontally
Cmd+T · Cmd+1…9New tab · select tab
Cmd+FFind, with regex on Ctrl+R
Cmd+Shift+SpaceCopy mode — vim-keyed selection, output frozen
Cmd+↑ / ↓Previous / next prompt (needs OSC 133)
Cmd+Shift+EJump to last failure (needs OSC 133)
Cmd+Shift+TTheme picker
Cmd+Shift+RToggle session recording
Cmd+/Help overlay, generated from the live binding table

RECORDING

Sessions record to .gtr files that store the PTY bytes verbatim. Replay with falcon --replay session.gtr; inspect and convert with the gotermrec CLI. A recording reproduces a rendering bug instead of describing it.

themes

Over 600 built-ins: go-term's own Default plus a 602-theme corpus. Press Cmd+Shift+T to browse them with live preview and filter, or set [general] theme in the config. A few popular picks:

DefaultDraculaCatppuccin MochaTokyoNightMonokai ClassicGruvbox DarkNordRose PineKanagawa WaveEverforest Dark MedGitHub DarkAyu

…plus about 590 more — the full list is in docs/themes.md.

config

One INI file at ~/.config/falcon/config. Cmd+, opens it in your editor; Cmd+Shift+, reloads every pane without restarting.

[font]
family = JetBrainsMono NFM
size   = 13

[general]
theme      = Tokyo Night
scrollback = 20000

[keybindings]
workspace.splitVertical = Cmd+D

Every section, key, and rebindable action is documented in docs/config.md.