What Is Rex? Ghostty Creator's Terminal for AI Agents Explained
Rex is Mitchell Hashimoto's terminal and multiplexer built on libghostty. How it differs from Ghostty and tmux, its CLI, agent status and beta limits.
For Engineering

What is the Rex terminal?
Rex is a terminal app from Superlogical, the new company of Mitchell Hashimoto, who created Ghostty and earlier tools like Vagrant and Terraform. It is a terminal and a multiplexer in one program. A background server owns your shells and processes, and the Rex app is a client that connects to it. Close the app and your programs keep running. Reopen it and it reattaches. Rex is in invite-only beta, currently on macOS, and has no built-in AI assistant.
TL;DR
- Rex is a separate commercial product, not Ghostty renamed. Ghostty stays a nonprofit project, and Rex shares only its engine, the MIT-licensed libghostty library.
- Rex combines a terminal and a multiplexer, so you get tmux-style persistent sessions without running tmux inside another terminal.
- Almost every Rex command has a JSON mode, which makes the whole app scriptable from the command line, by you or by a coding agent.
- A small protocol called OSC 7501 lets programs report whether they are idle, working, blocked or done, so Rex can show which sessions need you.
- The beta is macOS-only and invite-only. There is no tmux config import, no built-in copy mode yet, and no official word on license or pricing.
- If you run coding agents all day, Rex is worth a waitlist spot. If tmux already works for you, there is no rush.
How is Rex different from Ghostty?
Ghostty is a terminal emulator. It draws text and handles terminal behavior. It is a nonprofit project, and Rex does not replace it.
Rex is a separate commercial product that uses libghostty, the same library behind Ghostty's rendering and terminal emulation. If you have used Ghostty, text rendering and terminal behavior should feel familiar. The difference is what sits on top. Ghostty is a window to a shell. Rex adds a server that keeps your shells alive, plus a command-line interface that controls the whole app.
One thing to know if you are a Ghostty user: a reviewer who tried the beta found no real Ghostty config import. Rex checks what is already on your machine and notes it in its own config, but this is more of a check than a conversion.
How is Rex different from tmux?
tmux is a multiplexer. It lives inside a terminal and keeps sessions running on a server, so you can disconnect and come back. Rex is built around the same idea, but the multiplexer is the app itself rather than a program you launch inside another terminal.
Because Rex owns both the terminal and the multiplexer, the reviewer said it avoids the slightly slow, layered feel of running tmux inside a terminal.
Rex uses its own vocabulary, and the CLI uses these terms everywhere:
| Rex term | What it is | Familiar equivalent |
|---|---|---|
| Server | Background process that owns all shells and processes | tmux server |
| Session | A project | tmux session |
| Window | A tab | tmux window |
| Block | A pane (currently just a terminal) | tmux pane |
Do not confuse a Rex "block" with a block in the Warp terminal, where each command's output is its own block. In Rex today, a block is a terminal pane.
If you live in tmux, nothing carries over automatically. Your tmux config is not ported, some tmux options are missing, and there is no built-in copy mode yet. Rex's own config is a Lua file at ~/.config/rex/init.lua. You bind keys with rex.bind, and it supports tmux-style chords. After editing, you run a config check command to validate the file and a reload command to apply it. Rex does not watch the file, so the reload is manual.
What can the Rex CLI do?
This is the part the reviewer liked most. Rex installs a rex command available inside every Rex terminal, and the whole app can be driven from it. Here is what the reviewer tried:
| Command | What it does |
|---|---|
rex ls | Lists your sessions |
rex new <name> | Creates a new session |
rex split | Opens a new pane beside the current one, with a direction, a ratio and a command to run |
rex send | Types text into any terminal |
rex send-key | Presses keys such as Enter |
rex capture | Prints a pane's screen and full scrollback, as plain text or as HTML with colors |
rex run --wait | Opens a command in a new tab, waits for it to finish and returns its exit code |
rex events --json | Streams everything that happens on the server |
rex do | Runs actions or Lua scripts |
The reviewer described opening a split pane as taking about a tenth of a second. They also tested rex run --wait with a command that exits with the number 3, and Rex returned exit status 3. That means a script can treat a terminal like a proper job: start it, wait, check the result.
Almost every command accepts a --json flag, so the output is easy to parse in a script.
What is OSC 7501 and why does it matter for AI agents?
Rex has no built-in AI assistant. Instead, it gives agents a way to live inside it properly.
OSC 7501 is a small protocol written by Mitchell Hashimoto. It lets a program tell the terminal what it is doing: idle, working, done, blocked or errored. If it is blocked, it can say why: waiting on a permission, a question or a login. Claude Code already reports this status, so Rex can show you which sessions need your attention instead of making you flick through tabs to find out.
If you run several agents at once, that is a real problem. One is waiting for approval, one is thinking, one finished ten minutes ago, and you do not know which is which.
Agent skills
Rex also has a rex skill setup command. You run it once, and it installs a skill into your coding agents, plus a start hook for agents that support hooks. Rex supports Claude Code, Codex, OpenCode and Pi. A rex skill status command shows which agents are set up. On the reviewer's machine, three were ready and one Claude Code profile was still missing it.
After setup, the agent knows which Rex session and pane it is running in. It can open a diff in a new tab, start a dev server in a split, run your tests and read the result back, all through the CLI. You can say "open the tests in a pane below" and the agent does it.
Can Rex replace SSH?
Partly. Rex can connect to servers on other machines, and Tailscale is built into the Rex server. You turn it on with rex server tailscale on, and then your other devices on your tailnet can reach your sessions. It is off by default and local-only until you enable it. The reviewer noted that Hashimoto has said he uses this in place of SSH on his own server.
The catch is that Rex must run on both ends. It will not replace SSH everywhere.
How do you get access to Rex?
Rex is in beta and invite only. You join the waitlist on superlogical.com. Once you are in, you download a Mac app that installs as "Rex beta." The reviewer's copy was version 0.1.0. The server also exists for Linux and Windows, and early clients are in the works, but macOS is the only supported app today.
The interface works like a browser. You can put the tab bar on top or turn it into a sidebar on the left or right. There is a command palette on Command+Shift+P and around 40 built-in themes, dark and light. You can import Ghostty and iTerm color schemes as themes.
One small setup step: Rex ships its own terminal type, xterm-rex. On the reviewer's machine it was not installed until they ran the terminfo setup command. Until then, programs see a regular xterm-256color.
What is Rex missing right now?
Based on the reviewer's hands-on, these are the gaps to weigh:
- Availability. It is invite-only, macOS-only and a beta. Commands can change and things can break.
- License. It is unclear whether Rex will be open source. Superlogical says it is building on libghostty and might release open-source pieces along the way, but nobody has said Rex itself is open source.
- Pricing. Rex is free with no account needed. The reviewer says it will always be free and that monetization will be announced before the stable release, but that comes from one source and nothing is official.
- tmux migration. No config import, no built-in copy mode yet, and some options are missing.
- Remote rough edges. Hosts added from the CLI do not yet show up in the app.
- Reboots. The server keeps processes alive when you close the app, but a reboot still kills them. One reviewer went back to another tool because their Claude sessions did not survive a restart.
Is Rex worth joining the waitlist for?
If you spend your day in a terminal, run coding agents, have ever lost a long job by closing a window, or already live in tmux, yes. Joining costs nothing, and the persistence plus the agent-aware CLI are the interesting parts.
The reviewer's practical advice is sensible: if you get an invite, install Rex next to your current terminal and use it for agent sessions, where persistence and status help most. Keep your existing setup for everything else. Do not move your whole workflow over while the license and pricing are unknown.
What does this mean for you?
If you are not a developer, Rex is not something you need to install. But it shows where tools are heading. Software is being built to be operated by AI agents as well as people, with clear status signals ("I'm blocked, I need approval") and commands that return structured output.
If you work with developers or manage a team that uses coding agents, expect questions about how to monitor many agent sessions at once. Status reporting and session persistence are the early answers.
If you are a developer, the practical steps are small. Join the waitlist. Check which of your agents report status. Note what you rely on in tmux, such as copy mode and key bindings, so you know what a trial would test.
Could you build your own agent status board?
A terminal handles one person's sessions. A team usually wants something shared, like a page listing which automated jobs ran, which need approval and who owns them. With Remy, you describe that tool in plain English: a request form for new jobs, a dashboard of statuses and an approval queue with sign-in. Remy builds and deploys it as a full-stack web app, so you do not keep it in a spreadsheet or buy another subscription for it. It is a web app rather than a terminal feature, but it covers the shared-visibility part.
Frequently Asked Questions
Is Rex the same as Ghostty?
No. Ghostty is a nonprofit project that is staying as it is. Rex is a separate commercial product from Superlogical that shares the libghostty engine, so rendering and terminal behavior feel similar.
Does Rex have a built-in AI assistant?
No. Rex gives agents tools to work inside it instead: the OSC 7501 status protocol and a skill that lets agents use the rex CLI. It supports Claude Code, Codex, OpenCode and Pi.
Is Rex free?
Right now it is free with no account needed. A reviewer reported that it will stay free and that monetization will be announced before the stable release, but that comes from one source and is not official.
Will my programs survive a reboot in Rex?
No. Programs keep running if you close or quit the Rex app, because the server owns them. A computer restart still kills the processes.
Can I use Rex on Windows or Linux?
Not yet as an app. The server exists for Linux and Windows, and early clients are in the works, but the beta app is macOS only.
Useful for
How we source, write, and correct our articles. Editorial standards
Related articles

Is Rex Terminal Free? Beta Access, Pricing, and License

Coding Agent Context Rot: How to Fix It With a Handoff File

Why Does Your AI Coding Agent Say It's Done When It's Broken?
