Easy Terminal
A native macOS workspace for coding agents and shells, with task evidence, saved conversation links, and sessions that reconnect while the daemon stays running.
One place to follow the work
Easy Terminal brings coding agents and ordinary shells into one native macOS window. The goal is to make it easier to see what each agent is doing, return to its conversation, and work with the files it produces.
The next release is a free alpha for invited testers on Apple silicon Macs running macOS 14 or later. The repository remains private. A Developer ID signed candidate has built successfully; notarization and installation on a clean tester machine remain release gates. There is no public download yet. Join early access.
What works now
- Choose a view for the task. Focus keeps one terminal central. Overview shows several sessions. Guided provides a goal composer and controls around the selected terminal.
- Read task evidence. Supported Claude and Codex recordings can distinguish a working, completed, or interrupted turn. Missing or ambiguous evidence stays unknown; an idle screen alone does not prove completion.
- Return to a conversation. Local recording links connect a pane to saved provider history. Recorded activity can explain when something last happened without pretending to be a scheduled heartbeat.
- Group related sessions. Manual teams can overlap, so one agent can appear in more than one group. Grouping does not automatically delegate work or establish that another agent accepted it.
- Work with files and images. Pasted or dropped files become paths a CLI can read. A local raster preview refreshes when its source changes and supports rotation, undo, and saving a separate copy.
- Learn at your pace. An optional quick guide in Help shares the app’s reference content. When a later build changes that content, Help offers an updated guide. Reading it runs no commands.
Provider CLIs must be installed and signed in separately. Their subscriptions, model choices, permissions, and external requests remain governed by those providers and the user’s configuration.
Why the window and terminal are separate
The SwiftUI app owns the interface. SwiftTerm renders each terminal’s raw output. A bundled Rust process, ptyd, owns the PTYs and the programs running inside them. They communicate over a private local Unix socket.
This separation lets the GUI quit and reconnect while the daemon and its child processes keep running. It does not preserve a running process through a daemon crash, a Mac restart, or an explicit termination. Saved recordings and workspace metadata provide different kinds of continuity; they are not live process restoration.
A side copy of terminal output feeds deterministic screen detection. Provider recordings add task evidence. An optional typed-event contract supports structured content from explicit producers. Keeping those paths distinct protects terminal rendering and makes the source of a status claim easier to inspect.
The default app needs no hosted Easy Terminal service. The agents it hosts can contact model providers, use configured tools, and access networks. “Local terminal” does not mean every action taken inside it stays local.
How it became more responsive
Recent work removed unnecessary startup probes and repeated recording scans, bounded replay when a pane reconnects, and changed ledger rotation so input acknowledgments no longer wait for retained history to be read and rewritten. The principle is to remove work from the interactive path before adding complexity.
The current guide change passes its focused Swift suite and the Release app build. Earlier native checks exercised GUI quit/reopen continuity and image file refresh/export. Those checks establish specific local behavior, not universal performance, provider reliability, or clean-machine installation. Demo recordings on the product overview show earlier builds; historical soak figures are not current release guarantees.
The alpha will answer the next questions
The first testers will help assess onboarding, task-state clarity, recovery expectations, and whether the combined workflow earns repeat use over an existing terminal. The scope is deliberately smaller than a shared team operations platform: automatic handoffs, scheduled heartbeat automation, and shared administration are not promises of this alpha.
The code currently carries Apache-2.0 licensing, with third-party components under their respective licenses. Repository visibility and future distribution terms are separate decisions. Free invited testing does not announce a permanent pricing model or an open-source release.
State reviewed September 11, 2026.