The agent got its own Mac first—and you can watch it work in the terminal
terminal-mac runs a full macOS inside the terminal, giving an agent its own separate virtual Mac. Free and open source, available on Apple Silicon, and includes MCP, CLI, and a skill.
terminal-mac is an open-source project with a straightforward goal: run an entire macOS inside your current terminal, dedicated for an agent to use. The publisher, govi, posted two demos on X. Your terminal stays as usual, with an extra virtual Mac alongside it; the agent clicks, types, and opens apps inside it, and you can watch it work in real time.
In the second demo, Claude Code initiates operations in the terminal on the left, while the right side shows the macOS desktop inside the virtual machine. The project uses Apple Virtualization to run a real macOS guest; a helper inside the guest handles screenshots and input delivery, and the terminal viewer relies on the graphics capabilities of Ghostty, Kitty, or iTerm2 to stream the display. The agent's clicks, typing, and scrolling all go through the guest and do not touch your physical Mac's pointer or clipboard.
Installation is not complicated. It requires an Apple silicon Mac and macOS 14 or later. The first run needs an internet connection to download a recovery image from Apple, or you can use an existing .ipsw. The prebuilt version does not require developer tools. The inline viewer supports Ghostty, Kitty, and iTerm2; other terminals can use the native VM window and the agent CLI. Installation command:
curl -fsSL https://github.com/govijr/terminal-mac/releases/latest/download/get.sh | bash
Connecting an agent to computer use is also straightforward. The project includes built-in MCP tools covering screenshot, click, drag, scroll, type, key, and status, plus a skill that teaches the agent to follow an observe-act-verify loop. Claude Code can install it as a plugin:
/plugin install terminal-mac --marketplace govijr/terminal-mac
Other MCP clients just need to paste the output of terminal-mac mcp --config into their settings. The tools only drive the guest helper. When the guest is at the login screen, the tools explicitly return a status so the agent can ask you to log in.
The isolation model is worth understanding clearly. The virtual Mac has its own apps, files, accounts, and permissions, and does not inherit the host apps and login sessions you are running. Only two shared directories are mounted between host and guest: control for read/write requests and screenshots, and tools for the read-only helper. The host home, project directories, clipboard, microphone, and camera are not mounted. The helper checks whether hw.model starts with VirtualMac and refuses to run on the host. There is no remote-control network listener. The default NAT network lets the guest access the internet and may also reach host or LAN services. The project documentation explicitly states that this does not constitute network isolation and is not a hardened environment for hostile code; --offline can remove this network path.
The current status also needs to be mentioned. It is an early release candidate; the release package is self-signed, not notarized by Apple, and live guest acceptance on a clean Mac is still pending. VM cloning, rollback checkpoints, accessibility snapshots, fully unattended guest installation, terminal split-screen, and tmux transport are not yet implemented. The first macOS download takes time, and the virtual machine still consumes host CPU, memory, and storage.
Someone in the comments joked, 'agent got its own mac before i did.' For this project, that is not an exaggeration. It moves computer use out of demo videos and into a standalone macOS instance that can be started, paused, and stopped. For people who need to run agents, a separate desktop is more useful than just another tool call—at least it won't touch your mouse or clipboard. The repository is here: https://github.com/govijr/terminal-mac
发布时间: 2026-11-04 06:34