gPTY: a terminal built for agents to drive

A Godot and Rust terminal that gives AI agents a real API instead of making them scrape a TUI.

9 cards · 2m · tap to begin

From · · 2m

gPTY: a terminal built for agents to drive

A Godot and Rust terminal that gives AI agents a real API instead of making them scrape a TUI.

In brief

A Godot and Rust terminal that gives AI agents a real API instead of making them scrape a TUI. If you want agents working in a terminal, give them a documented control protocol rather than screen scraping. Originally reported by GitHub.

A terminal agents can call

A terminal agents can call

gPTY is a tiling multi-pane terminal with a JSON-RPC and MCP control surface, so automation can spawn panes, inject text, and read output without parsing a screen.

“so AI agents and automation tools can spawn panes, inject text, and observe output on terminals without scraping a TUI”

Panes in a tiling grid

Each pane is an independent shell session you can resize and arrange. Terminal, code viewer, and file tree panes live side by side in one workspace.

Real terminal emulation

It runs alacritty_terminal for full DEC STD 070 support: 16, 256, and true color, scrollback with regex search, and selection across wrapped lines.

Three ways in

Drive it from a CLI (gpty new-pane, gpty inject), an IPC socket, or an MCP server. Tool schemas come from the same clap definitions as the CLI, so they cannot drift.

“they cannot drift from gpty, help”

Concepts watch, never type

Regex triggers on PTY output capture replies and route them into adjacent panes like a code viewer or Inspector. They display only and never send input back to a shell.

“Concepts capture and display only - they never inject input into a shell.”

Watching agents, not running them

A Reasoning pane projects agent lifecycle events and an Inspector pane runs a private, tool-free Q&A. gPTY observes agent state and refuses to orchestrate it.

“Observability only - gpty never orchestrates agent state.”

It remembers your layout

Scrollback, settings, named workspaces, and profiles save to SQLite and JSON and come back on restart, with full-text search across every pane's history.

Ship and run it anywhere

Standalone binaries exist for Linux, macOS, and Windows at v0.5.3, with no Godot or Rust toolchain needed. Underneath: portable-pty, the vte crate, tokio, and gdext.

“No Godot or Rust toolchain required to run.”

GPL core, free edges

gPTY is GPLv3, but section 7 exceptions keep the ecosystem open: plugins and native pane types can use any license, and your profiles and layouts carry no copyleft.

“Configuration and data files carry no copyleft.”

The short version

If you want agents working in a terminal, give them a documented control protocol rather than screen scraping.

Read the original on GitHub

React

Sign in to react and comment.

Comments (0)

Life is short. Keep it sweet. Respect others' opinions and be kind!

    Recommended next

    More decks on terminals and related topics.