GitHub - semos-labs/attyx: GPU accelerated terminal for agentic workflows

4 min read Original article ↗

Attyx

Terminal for agentic workflows
The operator console for AI agents — GPU-accelerated, scriptable, under 5 MB.

Latest Release Downloads Tests Zig 0.15 macOS · Linux MIT License

Documentation  ·  Download  ·  Install  ·  Issues

Attyx running three splits with the command palette open over a Zig source file and a git log


Overview

Attyx is a GPU-accelerated terminal built for the agentic era. It's agent-aware end to end: it tracks agent lifecycle natively and exposes the full terminal surface over an IPC layer, the attyx CLI, and MCP — so one agent can spawn, watch, and drive others across panes.

The terminal fundamentals — sessions, splits, tabs, popups, a status bar, command palette — are all built in. No tmux + config pile. Written in Zig, GPU-rendered on Metal (macOS) and OpenGL (Linux), a single binary under 5 MB.

Agent status, at a glance

Attyx reads each agent's lifecycle — Claude and Codex via JSON lifecycle hooks, opencode via an event-bus plugin — and paints a colored dot on its pane. Run a swarm and tell at a glance which one needs you, right from the tab and status bars.

State Meaning
🟠 Working The agent is thinking or running a task
🟣 Waiting It's paused for your input
🟢 Idle Done — nothing in flight

Drive it from anywhere

Every pane has a stable ID. Over a Unix socket, one agent spawns panes, sends keystrokes, and reads output from any other — no focus change, no guesswork.

# spawn an agent in a new pane, capture its id
id=$(attyx split v --cmd "claude -p 'run tests'")

# read what it's doing — anytime, no focus change
attyx get-text -p $id

# nudge it when it pauses for input
attyx send-keys -p $id "yes{Enter}"

# clean up when it's done
attyx split close -p $id

It speaks MCP, too: attyx mcp is a stdio bridge for every platform, and an embedded loopback HTTP MCP server (http://127.0.0.1:7333/mcp, POSIX) hands the same tools — panes, tabs, keystrokes, output, sessions, agent status, image injection — to Claude Desktop and any MCP client. The Claude Code skill drops in with attyx skill install.

Built-in terminal craft

Everything you'd usually bolt on with plugins and a config pile, in the box:

Splits & tabs Vertical/horizontal splits, tabs, and floating popups — no plugins
Sessions Daemon-backed; close the window, reopen tomorrow, every pane intact
Command palette Fuzzy-search every action with Cmd+Shift+P / Ctrl+Shift+P
22 themes Catppuccin, Dracula, Gruvbox, Nord, Tokyo Night… or drop in your own
VT-compatible engine Deterministic and predictable — true color, reflow, scroll regions
And more Regex scrollback search · vim-style visual mode · Kitty images · scriptable status bar · TOML config with hot reload

→ Full feature reference in the documentation.

Install

Homebrew (macOS)

brew install semos-labs/tap/attyx --cask

Homebrew (Linux x86_64)

brew install semos-labs/tap/attyx

On Linux, Attyx installs as a desktop application. It should appear in your app launcher automatically. If it doesn't, log out and back in to refresh the desktop entry cache.

Build from source

Requires Zig 0.15.2+. On Linux, install build dependencies first:

sudo apt install libglfw3-dev libfreetype-dev libfontconfig-dev libgl-dev

Configuration

Attyx is configured via ~/.config/attyx/attyx.toml. See the configuration docs for all available options, or check the included config/attyx.toml.example for a quick-start template.

Origin

I started Attyx because I wanted to understand how terminals actually work — and I wanted to learn Zig. Weekend experiment that got out of hand. I'm daily-driving it now and it's solid enough for real work, so here it is.

Why not Ghostty or Kitty? Both are great — I used both before this. But I needed to build my own to really understand what's going on. And no, I didn't steal from Ghostty. "GPU terminal in Zig" is a category, not a trademark. Not a single matching line of code.


Part of Semos Labs — a constellation of terminal-native tools.
MIT Licensed