Terminal for
agentic workflows.
Attyx is the terminal for the agentic era — built to run, watch, and coordinate AI agents without leaving your shell. Agent-aware end to end, scriptable over IPC, the attyx CLI, and MCP. GPU-accelerated, written in Zig, under 5 MB.
$ brew tap semos-labs/tap
$ brew install attyx
$ attyx # launch it
Every agent on one screen.
attyx dashboard — or ⌘⇧A — opens a full-screen, htop-style view of every agent across all your sessions: state, tokens, cost, and context window, live. Jump to an agent's pane, zoom, or close it without leaving the table.
See every agent at a glance.
Attyx reads each agent's lifecycle — Claude, Codex, opencode, pi.dev — and paints a colored dot on its pane: working, waiting on you, or idle. Run a swarm and see which one needs you.
Agent workflowsDrive 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. It speaks MCP too — attyx mcp hands the same tools to Claude and any MCP client.
Lay it out. Leave it running.
Vertical and horizontal splits, tabs, and floating popups — all built in, no plugin needed. Sessions are daemon-backed: close the window, reopen tomorrow, every pane exactly where you left it.
Tabs & splitsEvery command, a keystroke away.
⌘⇧P opens a fuzzy-searchable list of every action — split, theme, session, search. Forgot a shortcut? Type a few letters and run it.
Command paletteTwenty-two themes, ready to wear.
Catppuccin, Dracula, Gruvbox, Nord, Tokyo Night and more — preview them live in the palette, or drop a TOML file in your config to ship your own.
Themes| Session | State | Cost | |
|---|---|---|---|
| web | working | $0.42 | |
| ▶ | web | input | needs input |
| api | working | ~$0.31 | |
| infra | idle | — |
$ attyx watch
# 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
test PASS 142 passed (3.1s)
# 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 nvim · main.zig
12pub fn main() void {
13 try term.init();
14 loop.run();
15}
npm run dev
VITE ready in 421 ms
➜ localhost:4322
git status
On branch main
nothing to commit
- Split Vertically⌘D
- Split Horizontally⌘⇧D
- Split Rotate
- Zoom Split
- Close Split
- dracula
- nord
- catppuccin-mocha
- gruvbox-dark
- tokyo-night
- + 17 more · preview live
Hand the terminal to an agent.
Attyx speaks the Model Context Protocol natively — every pane, tab, keystroke, and agent status is a typed tool. Point Claude Desktop, Claude Code, or any MCP client at it over stdio or a loopback HTTP endpoint, and it drives the real, running terminal.
attyx mcp http 127.0.0.1:7333/mcp {
"mcpServers": {
"attyx": { "command": "attyx", "args": ["mcp"] }
}
} $ attyx skill install # drops /attyx into Claude Code
Agent-aware, end to end.
Attyx reads each agent's lifecycle straight from the source and paints it as a per-pane status dot — working, waiting on you, idle. No polling, no guesswork.
Small binary. Big throughput.
Attyx is a single native binary under 5 MB — no Electron, no Chromium, no bundled browser. Written in Zig and GPU-rendered on Metal and OpenGL, it scrolls hundreds of thousands of lines without dropping a frame.
Regex search across scrollback · vim-style visual mode · inline images via the Kitty protocol · a scriptable status bar · floating popups · TOML config with hot reload · native on macOS & Linux.
Is this a tmux replacement?
Sessions, splits, tabs, and floating popups are all built in — no tmux, no config pile. A background daemon keeps sessions alive, so you can close the window and reattach with every pane intact.
Why Zig?
A single native binary under 5 MB — no Electron, no Chromium, no bundled browser. It's GPU-rendered on Metal and OpenGL, starts instantly, and sips memory.
Will it run my shell and TUIs?
Yes — it's a real terminal. Your shell, Neovim, htop, even inline images via the Kitty protocol all work, alongside regex scrollback search and a vim-style visual mode.
How does it track agents?
It reads Claude and Codex lifecycle through JSON hooks, and opencode and pi.dev through event-bus extensions, then paints a status dot on each pane and tab — working, waiting on you, or idle.
Can agents drive it?
That's the point. An IPC layer, the attyx CLI, and a native MCP server expose panes, keystrokes, and output as typed tools — so one agent can spawn, watch, and coordinate others.
Which platforms?
macOS (Apple Silicon & Intel) and Linux (x64 & ARM64), both native. Grab a build from the releases page or via Homebrew. MIT licensed, all of it.
A constellation of terminal-native tools — Attyx, Glyph, Aion, and Epist.
Try Attyx.
Install via Homebrew or grab a native build — you're up and running in seconds.
$ brew tap semos-labs/tap
$ brew install attyx
$ attyx # launch it