Termio CLI
A macOS terminal with the termio CLI and a skill: agents spawn sibling sessions and you see which one needs your answer
- 785 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The skill lets one agent start another and answer its permission prompts with `termio session send`, which means granting rights without your involvement
- Termio edits agent settings: it writes hooks into config files and copies a binary to remote servers over SSH
- Every session runs with your user's rights and sees working folders, and the session screen is mirrored to an iPhone
Install
- Works in
Manual install
brew install --cask termio-sh/tap/termioThe macOS 14 and newer app, which also installs the `termio` command. You can download termio.dmg from the site.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The skill lets one agent start another and answer its permission prompts with `termio session send`, which means granting rights without your involvement
- Termio edits agent settings: it writes hooks into config files and copies a binary to remote servers over SSH
- Every session runs with your user's rights and sees working folders, and the session screen is mirrored to an iPhone
This is third-party code. Review the repository files before installing.
What it does
Termio runs Claude Code, Codex, OpenCode, Amp, Cursor, Copilot and other CLI agents in a real terminal and wires up each agent's hooks on first launch. A session shows its state: working, idle, done or needs you. The mark shows in the sidebar, in the menu bar, which rings when an agent is waiting for you, and on an iPhone. Every session lives in the `termiod` daemon, so closing the window only detaches the client while the agent process and screen history stay. The same sessions can live on a VPS over SSH: Termio reads `~/.ssh/config`, copies one binary to the server and installs the hooks there. The `termio` CLI drives the running app. An agent inside Termio runs `termio session spawn` to start a sibling agent on a task, `termio session list` shows states, `termio session send` answers a permission prompt and `termio session read --lines 40` prints what is on a screen. The `--wait` flag blocks until the turn settles, `--json` gives machine-readable output and `--agent` picks the agent. With session control enabled, Termio places a `termio` skill into `~/.claude/skills` and `~/.codex/skills` and refreshes it on every launch. Other agents can install it from the repository.
Who it is for. For Mac developers who run several agents in parallel and want to see who is working and who waits for a decision, and to hand tasks between sessions from the agent itself.
Good fit when
- You run Claude Code and Codex on different branches and want to notice which one needs a confirmation
- A main agent should delegate a task to a sibling with `termio session spawn` and read the reply
- You have to close the terminal window but the agent must keep working: when you return the session reopens with the same screen
- Agents run on a remote VPS and you need to attach from a Mac and an iPhone
- Every parallel task needs its own Git worktree created from the sidebar
Not a fit when
- You use Windows or Linux: the app ships for macOS 14 and newer, and clients for other systems exist only in the author's roadmap
- You are used to tmux and do not want to switch terminals: the session commands work only inside Termio, so the skill alone will not help elsewhere
- You need the skill in an ordinary terminal: without the `TERMIO_SESSION` variable it reports that it runs outside Termio and does nothing
- You want built-in commits and pull requests in the window: the changes pane is read-only and commits and pushes happen in the terminal
Example request
Spawn a sibling Codex session with termio session spawn, ask it to fix the flaky test and wait for the result with --wait.Limitations
The app runs on macOS 14 and newer, the iPhone companion is in public beta through TestFlight, and Android, Windows and web clients exist only as plans. Remote sessions need a Linux VPS reachable over SSH.
Sandboxes with no network, such as the `workspace-write` mode in Codex, deny Unix socket connections, so `termio session` fails there with EPERM. Run the command outside the sandbox with escalated permissions, and do not restart Termio. The link is then one-directional: siblings can drive the sandboxed session, but it cannot drive them. The author is looking for maintainers for the web client, Windows and iOS.
How to disable. Quit the app and remove it with `brew uninstall --cask termio-sh/tap/termio`. Delete the `termio` skill from `~/.claude/skills` and `~/.codex/skills`, and remove the agent hooks from their settings files, for example `.claude/settings.local.json`.
FAQ
How do I install Termio?
Run `brew install --cask termio-sh/tap/termio` or download `termio.dmg` from termio.sh. The app is free, needs no account and requires macOS 14 or newer.
How do I install the Termio skill into an agent?
Termio places the skill into `~/.claude/skills` and `~/.codex/skills` itself when session control is on. For other agents run `npx skills add termio-sh/termio --skill termio`.
Does a session survive closing the Termio window?
Yes. Every session lives in the `termiod` daemon: closing the app only detaches the client, and the process and screen history are there when you return. Only Close Session (⌘W) ends a session.
Which agents work in Termio?
Claude Code, Codex, OpenCode, Pi, Amp, Cursor, Copilot, Kimi, Antigravity, Crush, Grok and any other CLI agent. Termio wires up hooks itself for the named ones.
What if `termio session` fails inside Codex?
Most likely the `workspace-write` sandbox blocks the socket and the command fails with EPERM. Run it outside the sandbox with escalated permissions in Codex, and do not restart Termio.
Discussion
No questions or reviews yet.
Related
CLI toolsSession monitor for Claude Code, Cursor, Codex and six more agents in a terminal, window or HTTP API, with chat cleanup and search
MCP server for iTerm: the agent runs commands in the active terminal session, reads output and sends control characters
A Python terminal coding agent in the manner of Claude Code: reads the repository, edits files, runs commands, with memory, sub-agents and MCP
A terminal multiplexer built for coding agents: keeps Claude Code, Codex and Cursor sessions running after you disconnect and combines several machines in one w
agentplay turns local Claude Code, Codex and Cursor sessions into a file map and a replayable step timeline.
A terminal shell for working with coding agents: embedded terminals, diffs, files, td tasks and worktrees side by side
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| Termio (this card) | no | 785 | |
| cmux | no | 28,707 | also a native macOS terminal, but without a skill and CLI for spawning sibling sessions |
| Claude Squad | no | 8,732 | a terminal app on tmux and git worktree without an iPhone companion or a session daemon |
| tmux-ide | yes | 563 | shows agent state in tmux sessions and leaves tmux itself in place |
README in short
The author describes Termio as a development environment built around the terminal: projects with nested sessions, Git worktrees, split panes, a file editor, a changes pane and project search. Mac and iPhone clients attach to the same sessions. It is MIT licensed and builds download for free.