Your agents need more than a container.
Give them a Mac.

GhostVM runs fully isolated macOS workspaces on your machine, one per agent, project, or client. You control what data each one can see.

VS Code running inside a GhostVM virtual machine on macOS

Move in and out of workspaces like switching apps

Deep host integration means each workspace feels native. Clipboard, files, and network stay connected.

VS Code running inside an agentic workspace — nearly indistinguishable from a native app

Clipboard Sync

Copy-paste flows between host and workspace. A permission prompt gives you control.

Clipboard sync permission prompt

Port Forwarding

Listening ports are auto-detected with process names. Manage them from the toolbar.

Auto port-forward notification showing detected ports

File Transfer

Drag files in, pull them out. Transferred files are quarantined by default.

File transfer prompt for guest to host download

Shared Folders

Mount host directories inside the workspace.

Shared folder configuration panel

Run multiple workspaces, each fully isolated

Each workspace is its own macOS. Run as many as you need, fully isolated from each other and your host.

Two workspace windows running side by side on the macOS desktop

Each workspace runs as its own window.

Customize each workspace's icon

Every workspace appears in the Dock and App Switcher with its own icon.

FinderFileEditViewGoWindowHelp
Sat 12:00 PM
Slack
Acme Inc
Channels
# general
# dev
# design
# random
DMs
alice
bob
# dev
A
alice11:42 AM
Pushed fix for the login bug
B
bob11:45 AM
CI is green, merging now
Message #dev
Slack
Slack
VS Code
Explorer
▾ src
app.tsx
index.ts
utils.ts
config.ts
▾ tests
app.test.ts
index.ts
app.tsx
1
2
3
4
5
6
7
8
9
import express from 'express'
 
const app = express()
 
app.get('/api', (req, res) => {
res.json({ ok: true })
})
 
app.listen(3000)
main
TypeScript
VS Code
VS Code
macOS Sequoia
Messages
Hey, the new build looks great!
Thanks! Deploying now.
Can you check the auth flow?
On it
macOS Sequoia
macOS Sequoia
Dev Server
dev — zsh
jake@dev:~$ npm run build
Compiled 47 modules in 2.3s
Build complete.
 
jake@dev:~$ docker compose up -d
Container postgres started
Container redis started
Container api started
 
jake@dev:~$
Dev Server
Dev Server
Default
Default
Default
CI Runner
localhost
🔒localhost:8080
CI Runner
Staging
github.com/ghostvm
ghostvm / GhostVM
Swift
macOS
Staging
Testing
Favorites
🏠 Desktop
📁 Documents
Downloads
Locations
💻 Macintosh HD
📁 Projects
📁 Screenshots
📄 notes.md
📄 todo.txt
🖼 wallpaper.png
5 items
Testing
Clone

Clone

Mirror an existing app's icon so the workspace looks like the real thing.

Stack

Layer two app icons together to show what's running inside the workspace.

Custom

Custom

Pick from 10 built-in presets or upload your own image.

Glass

Wrap any app icon in the GhostVM glass frame for a unified look.

Built for speed, isolation, and security

Native Performance

Built on Apple's Virtualization.framework. Near-native speed, no emulation.

Self-Contained Bundles

Each workspace is a single .GhostVM folder. Copy, move, or back it up like any file.

Snapshots & Clones

Checkpoint before risky changes. Clone instantly with APFS copy-on-write.

Security Boundaries

Isolated by default. File transfers are quarantined. Clipboard syncs require permission.

Suspend & Resume

Suspend a workspace to disk and resume exactly where you left off.

Bridged & NAT Networking

NAT out of the box, or bridged mode for full network presence. Each workspace gets its own network stack.

Terminal meets GUI

Every action in the GUI is also available from the terminal via vmctl. Create, start, snapshot, clone, and manage workspaces programmatically.

Full CLI reference →
Terminal
$ vmctl init ~/VMs/dev.GhostVM --cpus 6 --memory 16
Created ~/VMs/dev.GhostVM
$ vmctl install ~/VMs/dev.GhostVM
Installing macOS — this takes a few minutes.
Installation complete
$ vmctl start ~/VMs/dev.GhostVM
VM running (PID 4821)
$ vmctl snapshot ~/VMs/dev.GhostVM create clean-install
Snapshot "clean-install" saved
$ vmctl stop ~/VMs/dev.GhostVM
VM stopped

Ready to get started?

Download GhostVM and start running isolated workspaces in minutes. Built-in updates keep you current.

Download GhostVM
macOS 15+ (Sequoia)
Apple Silicon (M1 or later)