
### The Terminal-first Agentic Development Environment
[](https://github.com/termio-sh/termio/releases)
[](LICENSE)
[](https://discord.gg/H9DKVwsE5f)
English | 简体中文 | 繁體中文 | 日本語 | 한국어
[**Download for macOS**](https://downloads.termio.sh/termio.dmg) • [Website](https://termio.sh) • [Docs](https://termio.sh/docs) • [Changelog](https://termio.sh/changelog) • [Discord](https://discord.gg/H9DKVwsE5f)
## What it is Terminal-first ADE
When agents write most of the code, the environment's job is to run them and to tell you which one needs you. Termio is that environment, and it's a real terminal because that's where the agents already live.
It wires up each agent's own hooks on first launch. A session reports working, idle, or *needs you* — a dot in the sidebar, a menu-bar tray that rings when one is blocked, the same signal on your phone. Claude Code, Codex, OpenCode, Pi, Amp, Cursor, Copilot, Kimi, Antigravity, Crush, Grok, and any other CLI agent.
### A tmux alternative
Many people tell you to learn tmux. You don't have to. Every session's shell lives in `termiod`, a daemon, so quitting the app only detaches. Close the laptop, reopen Termio — the agent is where you left it, same process, same scrollback. Only Close Session (⌘W) ends one.
### Remote ADE
Any Linux VPS you can `ssh` to. Termio reads `~/.ssh/config` and never rewrites it. Settings ▸ Devices ▸ Set Up copies one binary into `~/.local/bin` over SSH, starts the daemon, and installs the agents' hooks there. Local and remote sessions run through the same host. The session lives on the box, not in the connection. Drop the link and the agent keeps working; reattach restores the exact screen.
## Install
**[Download Termio for macOS](https://downloads.termio.sh/termio.dmg)** — free,
no account, macOS 14+. Or with [Homebrew](https://brew.sh):
```sh
brew install --cask termio-sh/tap/termio
```
**On iPhone**: get the companion beta on
[TestFlight](https://testflight.apple.com/join/1Arf1UKR), then pair it by
scanning the QR code in the Mac app's Settings ▸ Mobile.
## What you get
 |
Projects hold sessions
One project per checkout, its terminals and agents underneath. Chats sit above that — scratch agent sessions that don't belong to any project.
|
 |
Git worktrees
One branch per parallel task, created from the sidebar. Worktrees nest under the project they came from.
|
 |
Split panes
⌘D splits right, ⇧⌘D splits down. An agent, a dev server, and a shell in one window.
|
 |
Horizontal tabs
Sessions in one row above the terminal. Click a tab to switch, drag it to reorder. Turn it on in Settings ▸ Appearance ▸ Tabs. Watch the video.
|
 |
Status at a glance
Working, idle, done, or needs you — a mark on every row. The same list is termio session list.
|
 |
File editor
Click a file in the tree. Syntax highlighting, autosave. The terminal stays the place where you commit.
|
 |
Changes
A read-only git pane with the current unified diff. Commit, push, and PR stay in the terminal.
|
 |
Search
Project-wide content search, jumping to the matching line in the editor.
|
 |
Command palette
⌘⇧P. Split, focus, anything you'd hunt a menu for.
|
## Drive it from the terminal
The `termio` CLI drives the running app. An agent inside Termio can spawn a sibling, hand it a task, and read back the reply:
```sh
termio . # open the current directory as a project
termio session list # who's working, idle, or waiting on you
termio session spawn "fix the flaky test" # start a new agent session on a prompt
termio session run "pnpm test --watch" # start a plain terminal session on a command
termio session send ab12cd34 "1" # answer a sibling's permission prompt
termio session read ab12cd34 --lines 40 # print what's on a session's screen
termio session watch # stream status changes as they happen
termio session focus ab12cd34 # bring a session forward in the app
termio session close ab12cd34 # close it
termio notify "the migration finished" # post a macOS notification
```
`--wait` blocks until the turn settles and comes back with the final status and the transcript range to read. `--json` makes any `sessions` command machine-readable. `--agent` picks which agent `spawn` starts. `--direction` / `--ratio` decide where the new pane lands and how big it is.
```sh
termio session spawn "run the migration" --agent codex --wait
```
Session control installs a `termio` [agent skill](https://termio.sh/skill.md) into each agent's skills folder (`~/.claude/skills`, `~/.codex/skills`) and keeps it current on every launch. Any other agent can install the same skill from this repo:
```sh
npx skills add termio-sh/termio --skill termio
```
## On your iPhone
The Termio iOS mirrors every session live — full TUI. A key bar puts esc, tab, ctrl, and arrows above the keyboard, and hold-to-speak transcribes into the prompt. Public beta on [TestFlight](https://testflight.apple.com/join/1Arf1UKR).