Repository navigation
Releases
AgentTerm 0.6.0
AgentTerm 0.6.0 speaks protocol version 7: both the Mac and the iPhone have to be 0.6, and so does the host. After updating the Mac app, restart the host when the app offers to, then update the iPhone app.
New
- What each agent is doing. Claude Code, Codex, Copilot CLI and Antigravity say through their hooks whether they are working, waiting for permission or an answer, or done, and both apps show it on each session. Codex's hooks have to be trusted once, in Codex; until then, and for what an agent cannot say, the app says why and what to do.
- Told on the iPhone. While you use the Mac from the iPhone, a banner in the app and a notification just after you leave it say when an agent finished or needs you, and a notification takes your answer. Once the iPhone was used, the Mac counts as away until you use its app again. A Live Activity on the lock screen shows the agents at work while no one is at the Mac.
- Agents open shells you see. Through AgentTerm's MCP server, installed in all four agents for your user and removable in Settings, an agent opens a shell as a tab (an SSH session, a dev server), types in it and reads it while you watch, and you can type in it too. The shells agents open are shared between them. "Agents run their commands in shells you see", on by default, asks them to work there rather than out of sight.
- Schedules. Start an agent with a prompt at a time, every day, on some days, or when its usage limit starts over, in a folder you pick. A run skips permissions only after you accepted what that means. The Mac's Schedules and the iPhone's Settings > Schedules show the runs going on, what is scheduled, and the runs that are over.
- A worktree for a session. Start an agent in a git worktree of its own, so its work does not mix with the folder's; the side panel shows the changes and files of any worktree of the folder, and merges it, opens a pull request or throws it away.
- A window of places on the Mac. A bar at the left, as the iPhone has tabs: Sessions, History, Schedules and Settings (⌘,), which is no longer a window of its own. History lists every conversation and shows the one you pick in the middle, to resume or hand off; the side panel keeps the folder's.
- Keep awake, more ways. Until a time, with the display on too, only on power, or only while an agent is working.
- A long session scrolls smoothly on the iPhone. Its terminal is drawn on the GPU, and a long session opens with the screen and the lines just above it; scrolling up brings the earlier ones, a page at a time.
- Large files open when asked. A text file over 2 MB offers Open Anyway, up to 20 MB.
Changed
- A session keeps the size of the iPhone that used it when the iPhone goes away, until you type or click in it on the Mac; coming back, the iPhone takes it again by itself, without Fit This Screen.
- Settings are the same on both apps, and the iPhone's Mac settings cannot be changed while the Mac is out of reach.
- Room around the terminal on both apps.
Fixed
- Push and Pull failed when git's credential helper was a program outside the system's folders, the GitHub CLI from Homebrew for one.
- A part that stops (the host, a session's program, the status line relay) is reported on both apps and started again where it can be; the host is kept running by launchd.
- Large repositories are quick: listing the changes of a repository of 50,000 files takes a tenth of a second rather than half a second, and a folder's changes are read again only when its files change.
- Attaching to a long session no longer holds up every other session.
Install
- Mac:
brew tap manhpham90vn/tap,brew trust manhpham90vn/tap,brew install --cask agentterm, or the disk image below. - iPhone: TestFlight, https://testflight.apple.com/join/Ny2JKHUp
What's Changed
- ci: CodeQL from a workflow that keeps the watched build by @manhpham90vn in #30
- 0.6.0: agents' state and notifications, shells for agents, schedules, worktrees, and a window of places by @manhpham90vn in #31
Full Changelog: v0.5.0...v0.6.0
AgentTerm 0.5.0
AgentTerm 0.5.0 still speaks protocol version 6, so it works with 0.4 on the other device. What is new needs 0.5 on both, and a host of 0.5: after updating the Mac app, restart the host when the app offers to.
New
- Use another Mac from this one. A Mac can pair with another Mac the way an iPhone does, and then shows that Mac's sessions, folders, changes, history and files in its own window. Open Pair Device on the other Mac, copy the link under the code, and paste it under Pair with Another Mac in the menu at the top of the window, to the left of the agents. That menu says which Mac is on screen, in blue for this one and orange for another, and switches between them. Agents and shells started there run on that Mac. Both Macs have to be on the same Tailscale network.
- A session looks right the moment you open it. A device that opens a session is sent the screen as it is, laid out for the size the session has now, with the 10,000 lines above it. A full screen agent no longer shows a half drawn screen until it draws again, and what was written while the session was narrower or wider no longer reads broken further up.
- Start at login. Settings > General on the Mac, and the Settings tab on the iPhone, can start the host when you log in to the Mac. After the Mac restarts, the iPhone reaches it without the app being opened there first.
- The iPhone on its side. In landscape the terminal takes the screen: the title, the keys and the message field share one row instead of leaving a few lines of terminal between them.
- A button to hide the keyboard. While the keyboard is up on the iPhone, a button above it puts it away.
- Waiting is shown. Wherever the app waits for the Mac (a session, a diff, the history, a file) it says what it is loading, and after ten seconds that it is taking longer than usual, with a way to try again.
The button to pair is now Pair Device, since it pairs an iPhone or another Mac.
Fixed
- On the Mac, ending a session from its tab or the sidebar asks first. Before, one click ended an agent in the middle of its work.
- The Mac app can be used without a pointer: Settings switches, changed files and their Stage buttons, tabs, conversations and files are named for VoiceOver, and what was only in a right click menu (End Session, Close Other Tabs, Hand Off, Rename, Move to Trash) is offered as an action.
Install
- Mac:
brew tap manhpham90vn/tap,brew trust manhpham90vn/tap,brew install --cask agentterm, or the disk image below. - iPhone: TestFlight, https://testflight.apple.com/join/Ny2JKHUp
What's Changed
- 0.5.0: another Mac from this one, the screen on attach, start at login, landscape on the iPhone by @manhpham90vn in #19
Full Changelog: v0.4.0...v0.5.0
AgentTerm 0.4.0
AgentTerm 0.4.0 speaks protocol version 6: update the Mac app and the iPhone app together. After updating the Mac app, restart the host when the app offers to; an older host does not know the new requests.
New
- Push and pull from the Git tab. Above the changes, Pull and Push act on the branch that is checked out, with the number of commits waiting. A branch that is not on a remote yet shows Publish Branch, which says where it goes and follows it from then on. git never waits for a password here: a remote that would ask fails with git's message. A pull that conflicts is undone.
- Commit messages written by an agent. Write, next to Commit, asks an agent for the message of what is staged and puts it in the field for you to read and change. It never commits. Choose the agent, the model and the prompt (style, language) in Settings > Git on the Mac or under Commit Messages in the iPhone's menu. The default is the first agent installed; Claude Code uses Haiku.
- Diffs in two panels. A button in a diff's header shows the file as it was and as it is now side by side, with line numbers. Settings > Git sets which of the two a diff opens in.
- The Mac at a glance. Processor, memory, network speed, temperature, battery and uptime of the Mac, in a line under the launch buttons and, for the Mac you are connected to, at the top of the iPhone app.
- Much more to scroll back through. A terminal keeps 20,000 lines instead of 500, and a device that opens a session is sent the last 4 MB of its output instead of 512 KB, so the iPhone can read what happened before you looked.
- SSH hosts. An SSH menu lists the hosts of
~/.ssh/configand opens one as a session. From the iPhone the session runs on the Mac, which is then the way to that host. - A message you have not sent is kept. On the iPhone, what you wrote in the message field of a session and did not send is there again when you come back to the session, also after closing the app.
- Keep awake, with options. Turn off by itself after 1 to 8 hours, keep the display on too, and only while the Mac is plugged in. The switch is in the menu bar menu as well.
Everything above is on the Mac and on the iPhone, and the settings are shared between them: the temperature in Celsius or Fahrenheit, diffs in one panel or two, and the rest. The iPhone app now opens on the list of your Macs, and inside a Mac has three tabs, Sessions, History and Settings, in place of one long menu. Its Settings follow the order of the Mac's.
Settings > General now links to the project's page and to the source.
Fixed
- A diff jumped back to its top whenever the file changed, which is all the time while an agent is editing it. It now stays where you scrolled to.
- On the iPhone, a session that reconnects is sent only what it missed instead of all its earlier output again, and a slow connection is no longer taken for a lost one.
- On the iPhone, a connection that was lost while a session was open is noticed within seconds and made again by itself, back in the same session. Before, the terminal could sit there dead until you went out and came back.
- A terminal that changes hands between the Mac and the iPhone goes back to the live screen instead of staying where it was scrolled to.
- Opening the app while an agent was already running, the first launch after an update for one, could show a broken terminal: the session's earlier output was replayed into a terminal of another width. It is now replayed at the session's own size.
Install
- Mac:
brew tap manhpham90vn/tap,brew trust manhpham90vn/tap,brew install --cask agentterm, or the disk image below. - iPhone: TestFlight, https://testflight.apple.com/join/Ny2JKHUp
What's Changed
- 0.4.0: push and pull, commit messages by an agent, SSH hosts, the Mac at a glance, two-panel diffs by @manhpham90vn in #15
New Contributors
- @manhpham90vn made their first contribution in #15
Full Changelog: v0.3.0-beta.4...v0.4.0
AgentTerm 0.3.0-beta.4
The fourth beta of AgentTerm 0.3.0. The apps are the same as in beta.3; what is new is how they reach you: this build goes to everyone who joined through the public TestFlight link, and releases are now announced on Discord.
AgentTerm 0.3.0 speaks the same protocol as 0.2.x (version 5), so a Mac and an iPhone on 0.2.x or 0.3.x work together. Coming from 0.1.x, update both apps.
New in 0.3.0
- Keep the Mac awake. A switch in the Mac's Settings, and in the iPhone app's menu, keeps the Mac from going to sleep by itself while a session is open, so agents keep working and the phone can still reach them. Off by default.
- Resumed sessions show their name. A session started by resuming a conversation is listed under the conversation's title.
- Crash reports and usage statistics, with your say. The app asks once whether it may send crash reports; nothing is sent until you agree. Counts of which features are used are on by default and one switch turns them off. Never what your terminals show, your prompts, file names or folders. See PRIVACY.md.
Fixed in 0.3.0
- The diff tab closed when another folder's session was shown.
- On the iPhone a diff could not be scrolled.
Install
- Mac:
brew tap manhpham90vn/tap,brew trust manhpham90vn/tap,brew install --cask agentterm(orbrew upgrade --cask agentterm), or the disk image below. - iPhone: TestFlight
- Questions and ideas: Discord
Full Changelog: v0.3.0-beta.3...v0.3.0-beta.4
AgentTerm 0.3.0-beta.3
AgentTerm 0.3.0 speaks the same protocol as 0.2.x (version 5), so a Mac and an iPhone on 0.2.x or 0.3.x work together. Coming from 0.1.x, update both apps.
New
- Crash reports and usage statistics, with your say. The app asks once whether it may send crash reports; nothing is sent until you agree. Counts of which features are used are on by default and one switch turns them off. Never what your terminals show, your prompts, file names or folders. The switches are in Settings > Privacy on the Mac and under Privacy in the iPhone app's menu. See PRIVACY.md for exactly what is sent.
- Keep the Mac awake. A switch in the Mac's Settings, and in the iPhone app's menu, keeps the Mac from going to sleep by itself while a session is open, so agents keep working and the phone can still reach them. Off by default.
- Resumed sessions show their name. A session started by resuming a conversation is listed under the conversation's title, like any other.
Fixed
- The diff tab closed when another folder's session was shown. It now stays, and comes back with its own folder.
- On the iPhone a diff could not be scrolled. It scrolls both ways now.
For those who build from source
- A build from source, and AgentTerm Dev, send nothing: they contain no reporting service.
makelists the common tasks;make lintandmake formatuse swift-format.
Install
- Mac:
brew tap manhpham90vn/tap,brew trust manhpham90vn/tap,brew install --cask agentterm, or the disk image below. - iPhone: TestFlight, https://testflight.apple.com/join/Ny2JKHUp
Full Changelog: v0.3.0-beta.2...v0.3.0-beta.3
AgentTerm 0.3.0-beta.2
AgentTerm 0.3.0 speaks the same protocol as 0.2.x (version 5), so a Mac and an iPhone on 0.2.x or 0.3.x work together. Coming from 0.1.x, update both apps.
New
- Crash reports and usage statistics, with your say. The app asks once whether it may send crash reports; nothing is sent until you agree. Counts of which features are used are on by default and one switch turns them off. Never what your terminals show, your prompts, file names or folders. The switches are in Settings > Privacy on the Mac and under Privacy in the iPhone app's menu. See PRIVACY.md for exactly what is sent.
- Resumed sessions show their name. A session started by resuming a conversation is listed under the conversation's title, like any other.
Fixed
- The diff tab closed when another folder's session was shown. It now stays, and comes back with its own folder.
- On the iPhone a diff could not be scrolled. It scrolls both ways now.
For those who build from source
- A build from source, and AgentTerm Dev, send nothing: they contain no reporting service.
makelists the common tasks;make lintandmake formatuse swift-format.
Install
- Mac:
brew tap manhpham90vn/tap,brew trust manhpham90vn/tap,brew install --cask agentterm, or the disk image below. - iPhone: TestFlight, https://testflight.apple.com/join/Ny2JKHUp
Full Changelog: v0.3.0-beta.1...v0.3.0-beta.2
AgentTerm 0.3.0-beta.1
AgentTerm 0.3.0 speaks the same protocol as 0.2.x (version 5), so a Mac and an iPhone on 0.2.x or 0.3.x work together. Coming from 0.1.x, update both apps.
New
- Crash reports and usage statistics, with your say. The app asks once whether it may send crash reports; nothing is sent until you agree. Counts of which features are used are on by default and one switch turns them off. Never what your terminals show, your prompts, file names or folders. The switches are in Settings > Privacy on the Mac and under Privacy in the iPhone app's menu. See PRIVACY.md for exactly what is sent.
- Resumed sessions show their name. A session started by resuming a conversation is listed under the conversation's title, like any other.
Fixed
- The diff tab closed when another folder's session was shown. It now stays, and comes back with its own folder.
For those who build from source
- A build from source, and AgentTerm Dev, send nothing: they contain no reporting service.
makelists the common tasks;make lintandmake formatuse swift-format.
Install
- Mac:
brew tap manhpham90vn/tap,brew trust manhpham90vn/tap,brew install --cask agentterm, or the disk image below. - iPhone: TestFlight, https://testflight.apple.com/join/Ny2JKHUp
Full Changelog: v0.2.1-beta.1...v0.3.0-beta.1
AgentTerm 0.2.1-beta.1
AgentTerm 0.2.1 speaks the same protocol as 0.2.0 (version 5), so a Mac and an iPhone on any 0.2.x work together. Coming from 0.1.x, update both apps.
New
- A warning when the versions do not match. The Mac says so when the host still running is from another version, with a button to restart it; the iPhone says which side to update.
- The version is shown in the app. On the Mac next to Settings and in Settings; on the iPhone under the list of sessions.
- HTML in Markdown previews. Images, links, line breaks and headings written as HTML are drawn, and pictures next to the file show at the width asked for.
Fixed
- A tall picture opened scrolled part of the way down. It now opens whole on the Mac and at its top on the iPhone.
- The tab strip could be scrolled up and down. It scrolls sideways only.
Install
- Mac:
brew tap manhpham90vn/tap,brew trust manhpham90vn/tap,brew install --cask agentterm, or the disk image below. - iPhone: TestFlight, https://testflight.apple.com/join/Ny2JKHUp
Full Changelog: v0.2.0-beta.1...v0.2.1-beta.1
AgentTerm 0.2.0-beta.1
AgentTerm 0.2.0 changes the protocol to version 5. Update the Mac app and the iPhone app together: 0.2.x does not work with 0.1.x.
New
- Arrange tabs and sessions. Drag them into order, pin the ones you keep, and put related ones in named, colored groups that fold away. On the Mac in the tab strip, on the iPhone in the list of sessions; the arrangement is the same on both.
- Arrange folders. Drag a folder onto another, or drop one in from the Finder to add it.
- Hand off to another folder. A handoff can continue in a repository inside the conversation's folder, in another listed folder, or in any folder you pick.
- Permissions. Settings > Permissions lists what agents may ask macOS for (Accessibility, Screen Recording, Automation, Full Disk Access, Microphone, Camera), whether each is allowed, and a button to allow it. Programs in a session are now asked instead of being refused silently.
- A warning when the host belongs to another copy of the app, with a button to replace it.
- The disk image has a shortcut to Applications to drag the app onto.
- Install with Homebrew:
brew tap manhpham90vn/tap,brew trust manhpham90vn/tap,brew install --cask agentterm.
Fixed
- Stray characters appeared in a program's input after reopening a session.
- A second key bar showed above the iPhone keyboard when the terminal was tapped.
- The terminal's last line sat right on the bottom edge.
- The usage band was too low for its two lines.
- The tab menu had five ways to close with similar names; there are four now, each with a different reach.
Full Changelog: v0.1.0-beta.2...v0.2.0-beta.1
AgentTerm 0.1.0-beta.2
The first release of AgentTerm: a native Mac terminal for coding agents, with an iPhone remote. Protocol version 4.
The Mac app
- One click to an agent. Claude Code, Codex, Antigravity and Copilot CLI, each in a real terminal session, in the project folder you pick.
- Sessions that stay. A small host holds them, so they keep running with the window closed. The app can stay in the menu bar.
- Tabs. Sessions, open files and diffs share one tab strip, with their agent's icon and the conversation's name.
- Git. The folder's changes with diffs; stage, unstage and commit.
- Files. Browse, create, rename and trash; edit text with syntax coloring; preview Markdown and Mermaid diagrams.
- History. Every conversation each agent had in a folder, to resume or to hand off to another agent with the conversation so far.
- Usage. Under each agent's terminal: the model, how full the context is, and what your account has left with reset times, for all four agents.
The iPhone app
- Pair by scanning a one-time QR code on the Mac; each phone gets its own token, which the Mac can revoke. Several Macs can be paired.
- The same sessions in a terminal sized to the phone, with a key bar and a compose field for prompts.
- The folder's git changes, files and history, and starting an agent in any folder on the Mac.
beta.2
- Both apps have an icon.
- A build made on your own machine is a separate app, AgentTerm Dev, with its own data, next to the released one.
- A privacy policy and a support page.
Full Changelog: v0.1.0-beta.1...v0.1.0-beta.2