Term icon term

Terminals that keep running.

Your shells live in a small daemon, not in a window. Close the app, restart it, or pick up your iPhone, and every session is still there, with a Mac and iOS app to see them all and a command line built for agents.

macOS 26 or later · iOS 18 or later · MIT license

Sessions outlive windows

termd runs your shells in PTYs and keeps their screens, with scrollback that rewraps on resize. It upgrades in place without ending a session. After a restart, each session returns as a new shell in the same folder.

Every machine in one list

The Mac and iPhone apps list sessions on all your machines, over Tailscale, your local network or a Cloudflare tunnel. See who is attached and what each program reports (working, blocked, done, failed).

A Desk for what needs you

The Desk and Board show what is waiting, changed or finished while you were away. Allow or deny a permission request from its notification.

A daily journal

People and agents record what they did with term note. Notes are kept one file a day, for a daily report.

Themes and backdrop

Colour themes for the terminal and window, as plain JSON files that sync to the iPhone. Fira Code and JetBrains Mono come with the app.

Cut a window into as many panes as fit, and arrange them the way you work.

A layout sketch, not a screenshot.

  • Drag to rearrange. Pick a pane up by its grip and drop it on another pane's edge, or on its middle to swap.
  • Focus follows the mouse, if you want it, and ⌥⌘ arrows move focus from the keyboard.
  • Zoom one pane to fill the window with ⇧⌘↩, then put it back.
  • Dim the rest, as a veil or a frosted blur you can tune, with your own gap, corner radius and border colour.
  • Layouts come back after a restart and show on your other devices. Windows come back too, each with its own panes and its own text size.
A Term window with three panes: a focused session on the left, a dimmed pane on the upper right and a dimmed terminal on the lower right

Split panes

The Desk with two Needs you cards, one waiting for permission and one waiting for an answer, and an Updates card for a finished session

Notifications on Desk

The Board with the sidebar open: Running, Needs you, Idle and Done columns of session cards

The Board

The Term iPhone app showing a terminal session with its header: back button, session name, a viewers badge and a menu

On the iPhone

Built for agents as much as people

An agent gets a scope of its own: it can start sessions and use those, and yours don't exist as far as it can tell.

$ term --agent claude run -- cargo test
$ term --agent claude new -d -n build -- zsh
$ term --agent claude send build "make" -e
$ term --agent claude wait build --prompt
$ term --agent claude screen build --format json

$ claude mcp add term -- term --agent claude mcp
  • Read the screen, not the raw stream: a full-screen program stays readable, with scrollback and the last command's output.
  • Wait on state, not on text: until a shell is back at a prompt, or a program's reported status changes.
  • MCP tools for the same, so an agent can drive sessions without a shell.

Secure by default

Remote clients use TLS 1.3 and the daemon's own key. Pairing is required for every LAN and Cloudflare client, and for Tailscale unless you turn that off. Devices pair with an Ed25519 key and a 6-digit code, then the Mac asks for Touch ID or your password. The LAN and Cloudflare listeners are off until you enable them.

Install

  1. Download the latest Term-<version>.dmg from the releases page and drag Term to Applications. It is signed and notarized.
  2. Open it. The app starts its own daemon if one isn't running, so there is nothing else to set up.
  3. Try the command line: term starts a session, term ls lists them, term -H mini ls lists another machine's.
  4. Updates come through the app. A newer daemon is offered from the menu bar, with sessions kept.