Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
We've just released version 1.8.2 which includes

  • New vpvm Command-Line Interface (CLI)
    Manage and automate virtual machines directly from the terminal.
  • Comprehensive VM Control
    Start, stop, shut down, pause, resume, suspend, and restart virtual machines via the CLI.
  • Snapshot Management via CLI
    Create, list, restore, and delete virtual machine snapshots from the command line.
  • Template Operations
    Create templates from existing VMs, deploy new VMs from templates, and manage the template library using the CLI.
  • Automation & CI/CD Integration
    Enable shell scripting, batch operations, and seamless integration into CI/CD pipelines through the CLI.
  • Download the vpvm cli from https://makeprog.com/Products/VirtualProg/vpvm.zip
  • Adding Tahoe 26.3 to IPSW Download
    When creating macOS Virtual Machines now Tahoe 26.3 can be downloaded in the App itself
 
I've bought a VirtualProg license to test in macOs Sequoia and Linux as a guest
Thank you for purchasing a VirtualProg license and for taking the time to try it out on macOS Sequoia with a Linux guest — I really appreciate your support.


If you have any feedback, run into issues, or have feature requests while testing, I’d be glad to hear them. Your input helps improve the app and prioritize future updates.


Feel free to share your experience here or reach out directly if needed.
 
We've just released version 1.8.3 which includes

  • Adding Tahoe 26.3.1 to IPSW Download
    When creating macOS Virtual Machines now Tahoe 26.3.1 can be downloaded in the App itself
  • Bug fixes and improvements
  • Password protected VMS can't be started with double click without unlocking.
  • Virtual machines can be imported by double clicking on the .vpvm file.
 
Each release is better than before, and as far as I know, many recent issues are related to Apple Virtualization Framework instead of Virtual Prog ones.
Well-done.

If I had some issue I'd write some notes here.
 
  • Like
Reactions: rbmanian75
We've just released version 1.8.4 which includes

  • Secure CLI Server with Token Authentication
    The built-in server for CLI (vpvm) now uses a secure, randomly generated token for authentication.
  • Settings: Enable/Disable CLI Server
    Added a checkbox in Settings to enable or disable the CLI server. HTTP port controls are only active when the server is enabled.
  • Bug fixes and improvements
    CLI Port changes in Settings are now reflected in the vpvm CLI.
 
We've just released version 1.8.5 which includes

  • vpvm CLI tool rewritten for a modern experience
    Migrated the CLI to use a structured subcommand system for clearer and more intuitive commands
    Added built-in contextual help for all commands and subcommands Improved error messages and usage guidance
    Updated documentation and examples to match the new CLI structure
  • Adding Tahoe 26.4 to IPSW Download
    When creating macOS Virtual Machines now Tahoe 26.4 can be downloaded in the App itself
 
We've just released version 1.8.6 which includes.

  • New vpvm info command in the CLI
    Added a new vpvm info <vmname> command to the vpvm CLI tool. Displays detailed information about a virtual machine.
  • New vpvm template info command in the CLI
    Added a new vpvm template info <templatename> command to the vpvm CLI tool. Displays detailed information about a template.
  • New vpvm rename command in CLI
    Added a new vpvm rename <currentname> <newname> command to the vpvm CLI tool. Renames a stopped virtual machine — updates the VM bundle, snapshots folder, logs, config name, and Spotlight index automatically.
  • New vpvm stats command in CLI
    Added a new vpvm stats <vmname> command to the vpvm CLI tool. Displays total uptime, last started, last stopped and total session count for a specific virtual machine directly from the terminal.
  • Tag Color Filter in Virtual Machines, Templates, and Snapshots
    Added a tag color filter button (tag icon) in the bottom bar of the Virtual Machines, Templates, and Snapshots views. Only visible when Tag Colors are enabled in Settings. The tag color filter stacks on top of the active base filter (All, Favorites, Recents). Tap the active color or the clear (×) button to remove the filter.
  • Notes/Description Tooltip in List and Grid Views
    The Notes (for Virtual Machines, Templates, and Snapshots) are now shown as a tooltip when hovering over the item name in both list and grid views.
  • Search Bar in Virtual Machines, Templates, and Snapshots
    Added a search bar that can be toggled using the magnifying glass button at the far right of the bottom toolbar in the Virtual Machines, Templates, and Snapshots views. The search bar filters items by name and stacks on top of the active base filter and tag color filter. The search bar is hidden by default and can be shown or hidden at any time.
  • Sort Options in Virtual Machines, Templates, and Snapshots
    Added a sort button (↑↓ icon) in the bottom toolbar of the Virtual Machines, Templates, and Snapshots views. Sort by Name (A–Z), Name (Z–A), Date Created (Newest), Date Created (Oldest), or Last Used (Virtual Machines only). The sort option is remembered per view across app launches. Favorites and Tag Color grouping is preserved — the sort option applies within each group. The sort button is disabled when the Recents filter is active.
  • VM Export
    Virtual Machines can now be exported directly from the app. Right-click a stopped VM and select Export, or use the Virtual Machine top menu bar. A destination folder picker will appear and the VM bundle will be copied to the chosen location. A progress indicator is shown during export.
  • Rename Virtual Machine
    Virtual Machines can now be renamed directly from the Control Center. Right-click a stopped VM and select Rename, or use the Virtual Machine top menu bar. A sheet appears with the current name pre-filled — edit and confirm to rename. The VM bundle, snapshots folder, logs, config name, and Spotlight index are all updated automatically.
  • Stats Export (CSV & PNG) in Dashboard Views
    Added export buttons in both the individual VM Dashboard and the Dashboard All views. Stats can be exported as a CSV file (summary, session history, snapshots, and templates) or as a PNG image that matches the current app theme (light/dark).
  • Auto Snapshot Enhancements — On Shutdown, Weekly and Monthly
    Added three new options to the Auto Snapshots configuration. On Shutdown takes a snapshot whenever the VM is stopped or gracefully shut down (pause, suspend, and restart are excluded). Weekly takes one snapshot per week on first VM start of that week. Monthly takes one snapshot per month on first VM start of that month. All options respect the maximum snapshots limit and work for both windowed and headless virtual machines.
  • Custom Auto Snapshot Name Prefix
    Users can now define a custom prefix for automatically created snapshot names in the Auto Snapshots configuration. Defaults to "Auto" if not set. The Save button is disabled when Auto Snapshots is enabled and the prefix is empty.
  • VM Window Always on Top
    Added a pin button to the VM window toolbar when a virtual machine is running. Clicking it keeps the VM window floating above all other windows. The button is highlighted when active and automatically resets when the virtual machine stops.
  • VM Quick Info Popover
    Added a Quick Info button to the Control Center toolbar. Clicking it shows a popover with key VM details including OS, Distro, CPU, Memory, Disks (with interface and type), Networks (with network type), Headless and Auto Start settings. Available for all VM states (Running, Paused, Suspended, Stopped) as long as the VM is unlocked.
  • Toolbar Cleanup
    Removed the Delete and Templates buttons from the Control Center toolbar to reduce clutter. Both actions remain fully accessible via the right-click context menu and the top menu bar.
  • Bug fixes
    Tag Color Picker is not dismissed after selecting a color.
 
Thank you for your interest in VirtualProg!
You can purchase and try the app, and if you’re not fully satisfied, Apple allows you to request a full refund within 15 days of purchase through the App Store. This gives you the opportunity to explore all of VirtualProg’s features risk-free.
"If your request is approved by Apple"
https://support.apple.com/en-us/118223
That's very different from a free trial, that is available as an option in the App Store.
 
Hi everyone,

It has been a year since VirtualProg launched on the Mac App Store, and I want to thank the community for the support and feedback so far.

To make it easier for new users to see if the app fits their workflow, I am updating how I handle trials. While the app remains a fixed-price purchase on the App Store to ensure a secure and seamless installation, I recognize that many of you prefer to "try before you buy."

How to Access VirtualProg Trial​

  • Mac App Store (Recommended): You can purchase the app directly for the most secure experience. If it doesn't meet your expectations, you can request a refund through Apple's standard process.
  • Request a Trial Build: If you would prefer to test the app's features first, I am now providing custom trial builds. Simply send an email to support@makeprog.com with the subject "Trial Request," and I will send a version over for you to evaluate.
 
VirtualProg 2.0 – Major Revamp & 1st Anniversary Release

Hi everyone,

We are excited to announce that VirtualProg 2.0 will officially launch on the Mac App Store this April 15, 2026.

This release is a special milestone for us as it marks exactly one year since VirtualProg 1.0 first debuted. Over the past twelve months, we’ve listened closely to the community's feedback, and version 2.0 represents a major revamp of the app—focusing on automation, better organization, and deeper system insights.

How to Access VirtualProg Trial (2.0)​

  • Mac App Store (Recommended): You can purchase the app directly for the most secure experience. If it doesn't meet your expectations, you can request a refund through Apple's standard process.
  • Request a Trial Build: If you would prefer to test the app's features first, I am now providing custom trial builds. Simply send an email to support@makeprog.com with the subject "Trial Request," and I will send a version over for you to evaluate.

What’s New in 2.0

  • VM Schedule (Auto Start & Shutdown)
    Added a new Schedule section in VM configuration. Each VM can define specific days of the week, a start time and a shutdown time. The app must be running for the scheduler to work.
  • Groups
    Virtual machines, Templates & Snapshots can now be organised into named groups. Enable Groups in Settings, then right-click any VM to assign it to a new or existing group. Both list and grid views display VMs under their group headings, with ungrouped VMs listed under Default.
  • Extra Details Toggle
    Added a bottom toolbar toggle to the Control Center, Templates, and Snapshots views. When active, each VM/template/snapshot displays a summary line showing CPU, RAM, and actual disk usage (allocated / configured GB). In the Control Center list view, the next scheduled event is also shown on the same line. Toggle is off by default for a cleaner interface.
  • Batch Operations in Control Center
    Select multiple VMs using Cmd+click (list and grid views) to perform bulk actions. A batch action bar appears with contextual icon buttons — start, stop, shutdown, and group assignment — applying to all selected VMs at once.
  • AutoStart Startup Delay
    VMs with Auto Start enabled can now be assigned a startup delay (0–300 seconds). This allows sequencing dependent VMs at launch — for example, starting a database VM immediately and delaying an app VM by 30 seconds. The delay is configured per VM in Settings → General.
  • Auto Pause VM on inactivity
    Added per‑VM Auto Pause under Security Config of VM. Each VM can enable/disable auto‑pause and set its own inactivity timeout (default: disabled, 3 minutes).
  • Safety Snapshot on Restore
    Added a "Create Safety Snapshot Before Restore" checkbox to the snapshot restore confirmation dialog. When checked, a safety snapshot of the current VM state is automatically created before restoring, providing a rollback point if needed.
  • Running Time in VM Window Title Bar
    The VM window title bar now displays how long the virtual machine has been running (e.g. Ubuntu 22.04 — 2h 15m). The counter updates every minute and disappears automatically when the VM is stopped.
  • Quick Info for Templates
    Added a Quick Info button in the Templates toolbar to show key template configuration details in a popover.
  • Quick Info for Snapshots
    Snapshots now have a Quick Info popover in the top toolbar, available when a snapshot is selected. Displays the full VM configuration captured at snapshot time including CPU, memory, disks, networks, and schedule.
  • Quick Info for VM Windows
    Added a Quick Info button to the Virtual Machine window toolbar, available in all states. Displays the VM's configuration, disk usage, snapshot and template counts, uptime stats, and activity timeline. Includes a "View Full Stats" shortcut for detailed session history.
  • Quick Info Enhancements
    The Quick Info popover now shows snapshots count(VM Only), templates count(VM Only) and schedule details (days, start and shutdown times) when configured.
    A compact 24-hour activity bar now appears in the Quick Info popover. A "View Full Stats →" button opens a detailed stats view inline, showing total uptime, session count, average session duration, per-day activity bars for the last 7 active days, and a recent sessions list with the last 20 entries. Click "← Back" to return to Quick Info.
    The Disks row in the Quick Info popover now shows the actual space consumed on the host alongside the configured maximum (e.g. 8.2 / 40 GB). Useful for dynamic disks where allocated space grows over time.
    Quick Info now lists configured shared folders as clickable links that reveal the folder in Finder.
    VM and template notes can now be edited directly from the Quick Info popover without opening the full config view
  • Settings Revamp
    Redesigned settings screen with toolbar-style tabs (Storage, General, Interface, CLI, Advanced) for easier navigation
  • Scheduler Setting
    Added global scheduler toggle in Settings > Advanced to enable or disable scheduled VM start/shutdown without modifying individual VM schedules
  • Disk space and missing path warnings
    An orange warning triangle appears next to the VM name in list and grid views when disk usage exceeds 85%, or when a referenced path — shared folder, CD/DVD image, or external disk — no longer exists on the host. The badge is present in Virtual Machines, Templates, and Snapshots views. Clicking it opens a popover with a breakdown of all active warnings, including the exact missing paths and their types.
  • Schedule Info & Actual Disk size in vpvm info and vpvm template info
    Schedule details are now included in the output of vpvm info and vpvm template info commands.
    The disks field in both commands now reports the actual allocated disk size alongside the configured disk size.
  • Templates Button Restored in Toolbar
    The Templates button has been added back to the Control Center toolbar for quick access.
  • Dock Badge
    Shows the number of currently running VMs on the dock icon; badge is hidden when no VMs are running
  • Touch ID Unlock
    VMs protected with a password can now be unlocked using Touch ID; the biometric prompt triggers automatically when the unlock sheet opens, with the password field available as fallback
  • View preferences
    list/grid mode, active filter, search bar, and extra details — are now saved and restored across app restarts. Each view (Virtual Machines, Templates, Snapshots) remembers its state independently.
  • Snapshot count warning on VM deletion
    The delete confirmation dialog now shows how many snapshots will be lost when deleting a virtual machine, giving users a clear heads-up before taking an irreversible action.
  • Diagnostic Logs
    Added a Diagnostic Logs option to the context menu and top menu bar. Collects VM configuration, stats, snapshots metadata and logs into a zip file saved to a user-chosen location. Requires Logs (in settings) and Dashboard Logs (in vm config) to be enabled before collecting.
  • Download Command Line Tool
    Added a new Download Command Line option under the Help menu. It prompts for a destination folder and copies the bundled vpvm.zip from the app resources to the selected location.
  • What's New & Version History
    Added a "What's New" and "Version History" entry to the Help menu, providing a quick in-app view of recent changes and improvements.
  • Onboarding
    Added a new onboarding flow to guide users through the initial setup process. The existing users can trigger the onboarding flow by clicking the Help > Show Onboarding.. menu item.
  • Adding Tahoe 26.4.1 to IPSW Download
    When creating macOS Virtual Machines now Tahoe 26.4.1 can be downloaded in the App itself
  • Bug fixes and improvements
    Now selecting an item in control center is smoother and more responsive, especially with a large number of VMs.
 
VirtualProg 1st Anniversary Sale – Save 40% before Version 2.0!

Hi everyone,

As we approach the April 15th launch of VirtualProg 2.0, we want to celebrate two major milestones: our first full year on the Mac App Store and the upcoming release of our biggest update yet.

To thank the community for a fantastic first year, we are offering a limited-time anniversary price reduction.

Limited-Time Pricing​

Starting today and running through April 15th, you can pick up VirtualProg for just $12.99 USD (down from our current price of $19.99).

This is the perfect time to get on board. On April 16th, following the launch of version 2.0 and its significant new feature set, the price will increase to $24.99 USD. By purchasing now at the anniversary rate, you will secure the app at its lowest price and receive the massive 2.0 update for free the moment it drops.


Why Buy Now?​

  • 40% Savings: Get the full power of VirtualProg for just $12.99.
  • Free Upgrade: Your purchase includes the 2.0 update featuring VM Scheduling, Batch Operations, Touch ID support, and the new UI.
  • Lock in the Price: Avoid the upcoming price increase to $24.99.

Get it on the Mac App Store:

If you want to dive deep into the features, documentation, and capabilities of the app, please visit our online help guide:VirtualProg Online Documentation
 
We've just released version 2.01 which includes.
  • Custom Network Management (Settings > Networks Tahoe Onwards)
    Virtual Network Creation: Create and manage Shared or Host-Only networks with unique names, subnets, and subnet masks. Advanced Configuration: Supports configurable MTU values from 1280 to 9000 and IPv6 integration with auto-generated ULA prefixes.
    Traffic and Routing Control: Allows binding shared networks to specific physical interfaces and managing TCP/UDP port forwarding rules.
    Static IP: Assigns a static IP address to virtual machines on custom networks, ensuring consistent connectivity and easier management.
    Automated Lifecycle Management: Automatically propagates network renames or subnet changes to all associated virtual machines, updating references and IP addresses.
    Validation and Protection: Prevents configuration conflicts and restricts the editing or removal of networks currently assigned to active virtual machines.
    CLI Support: vpvm cli now supports getting info about networks.
  • Disk Space Analyzer. The Disk Space Analyzer gives you a single view of all storage consumed by your virtual machines, templates, and snapshots. It shows both the allocated (actual on-disk) size and the configured (maximum) size for every item, lets you drill into individual disks, resize disks without leaving the analyzer, and take quick actions on VMs, templates, and snapshots directly from the list.
    Open it from Tools → Disk Space Analyzer.
  • Web Dashboard Monitor
    Control your virtual machines from any browser on your network. Open the dashboard by visiting http://[deviceip]:49152/dashboard to see CPU and memory stats, start or stop VMs, manage snapshots, browse your networks, and create new VMs directly from your templates — all without opening the app.
  • Remote CLI Access
    The vpvm command-line tool can now connect to VirtualProg running on another Mac using --server, --port, and --token flags, making it easy to manage VMs from your terminal across the network.
  • Settings → CLI Improvements
    A new External Access toggle lets you choose whether the built-in server is reachable from other devices on your network or localhost only. Your auth token is displayed directly in Settings with one-click copy and regenerate options.
  • Tools → Open Web Dashboard in the menu bar*
    Opens the Web Dashboard in your default browser directly from the menu bar (only shown when CLI Server is enabled)
  • Enhanced Button Visibility
    Buttons in the Group Header and Batch Action Bar are now larger to improve visibility and ease of use.
  • Time Picker in Schedule Config
    A time picker is now available in the Schedule Configuration to improve usability and input precision.
  • Scheduler Status Warning
    A warning now appears in the Extra Details section when the scheduler is disabled. Clicking the warning icon provides a direct shortcut to Settings > Advanced for quick activation.
  • VM Visual Indicator
    A subtle tag color or green border is now applied to the virtual machine window, providing a clear visual cue to distinguish the session.
  • Enhanced Auto-Pause Interaction
    The VM window now displays a status overlay when a virtual machine is auto-paused. Users can instantly resume the session by clicking anywhere within the window or pressing any key.
  • Tag Color Picker Update
    A remove button is now included in the tag color picker, allowing for the quick clearing or resetting of tag color assignments.
  • Performance & Optimization
    Memory Efficiency: Reduced application memory footprint.
    UI Responsiveness: Improved scaling and performance when managing large VM libraries.
  • Dynamic Disk Resize Added support for resizing dynamic (ASIF) disk images directly from the disk configuration view.
  • Tools Menu in the Top Menu Bar. Added a Tools menu in the top menu bar to provide quick access to tools and utilities of VirutalProg.
  • Data & Sync Improvements
    Enhanced Control Center Sync: Configuration and metadata are now instantly updated when:
    Restoring a snapshot.
    Creating a VM from a template.
    Using the Quick Create wizard.
 
Last edited:
We've just released version 2.02 which includes. Should be avaialble from May 1st in the appstore

  • Memory Balloon Control (Linux guests only)
    A new Memory Balloon button (memorychip icon) appears in the VM View toolbar while a Linux virtual machine is running with Memory Balloon enabled. Click it to open a slider that dynamically adjusts the amount of memory available to the guest — without rebooting. Use Apply to send the new target to the guest kernel, or Reset to Max to restore the full configured memory. Requires the virtio_balloon driver in the guest.
  • Linux ISO Auto-Download
    Quick Create and the CD/DVD drive configuration now include a built-in Linux ISO downloader. Select a distribution from the dropdown and click Download — the ISO is fetched directly into the app's storage folder.
  • Startup & Shutdown Settings
    A dedicated Startup & Shutdown section has been added to the VM configuration, consolidating lifecycle settings from General and Security into one place.
    Auto Start and Startup Delay — moved from General. Start the VM automatically when VirtualProg launches, with an optional delay to stagger multiple VMs.
    Mac Sleep (new) — Configure what happens to the VM when the Mac goes to sleep: do nothing, pause, suspend (Apple Silicon only), stop, or gracefully shut down. Paused and suspended VMs resume automatically on wake.
    Mac Shutdown (new) — Configure what happens when the Mac shuts down or restarts: do nothing, suspend (Apple Silicon only), stop, or gracefully shut down. If set to Do Nothing, VirtualProg blocks the shutdown and asks you to stop the VM first.
    VM Close (new) — Configure what happens when the VM window is closed while running: ask, stop, suspend (Apple Silicon only), or send a graceful shutdown request to the guest.
    Auto Pause — moved from Security. Automatically pause the VM after a configured period of inactivity.
  • vpvm cli --secure flag added
    --secure flag for vpvm CLI to enable HTTPS for all API communication (default: HTTP).
    Usage: vpvm --secure <command>
  • Open or Show in Finder After Export
    After saving any file to disk, a success dialog now appears giving you quick access to the file:
    PNG exports: (Disk Analyzer, Stats Dashboard, Screenshots) — Open in Preview or reveal in Finder
    CSV exports: (Disk Analyzer, Stats Dashboard) — Open in your default app or reveal in Finder
    Log exports: Open in TextEdit or reveal in Finder
    Video recordings: Open in QuickTime or reveal in Finder
    VM Export, Diagnostics, vpvm.zip, RelocatePartition.zip Reveal in Finder
    Simply hit Dismiss if you don't need to open the file right away.
  • VM Window Border:
    Added "Window Border" toggle in the Interface settings. When enabled, the VM window is bordered with the VM's tag color or green. Defaults to on.
  • Safe Snapshot Restore
    Added a new option in Settings → Advanced. When enabled, snapshot restores use an atomic swap (copy to temporary location, then replace) to prevent data loss if an error occurs mid-restore. Requires ~2× VM disk size free during restore. Enabled by default.
  • Logs
    Corrupted log entries are now silently skipped and the log file is automatically repaired on load.
    Sidebar now correctly removes a VM after its logs are trashed, without needing a manual refresh.
    Removed noisy "loaded/saved successfully" log entries for snapshots and templates.
  • Disk Sizes
    Disk size calculations and displays now use decimal GB (1 GB = 1,000,000,000 bytes), consistent with macOS Finder.
  • Settings Help
    Clicking help in the bottom of Settings now opens the help page for the selected tab instead of the main settings page.
  • Menu Bar
    Update menubar with right menu items when Disk Space Analyzer is active.
  • Auto-Snapshot on Resume Fix
    Auto-snapshots are no longer taken when resuming a virtual machine from pause or suspend. All schedule types (On Start, Daily, Weekly, Monthly) now only trigger on a cold start.
 
We've just released version 2.03 which includes

  • Create Virtual Machine from Snapshot
    You can now create a standalone virtual machine directly from any snapshot. Right-click a snapshot in the Snapshots window and choose Create Virtual Machine. Enter a name, optionally generate a new MAC address, and click Create — the new virtual machine appears immediately in the Control Center, independent of the original VM and its snapshot history.
  • macOS Widget
    The VirtualProg Widget lets you monitor your virtual machines directly from the macOS desktop or Notification Center. Once enabled in Settings, the widget displays the current status of all your virtual machines in real time, updating automatically whenever a VM starts, stops, pauses, or is suspended.
  • Revamped In-App Terminal for Serial Console
    The built-in terminal has been completely rewritten using modern methods, a native macOS terminal emulator. It now delivers full VT100/xterm emulation with ANSI colours, bold, underline, and all standard escape sequences rendered correctly. The terminal also gains a proper scrollback buffer, accurate keyboard handling for arrow keys, function keys, and Ctrl sequences, and GPU-accelerated rendering — a significant improvement over the previous plain-text view.
  • Web Console
    You can now open a browser-based console for any VM serial port directly from the Web Dashboard. Click Open Web Console in the Console Ports section of the VM detail panel to launch an interactive xterm.js terminal in a popup window. The console supports full keyboard input, ANSI colours, a 5 000-line scrollback buffer, and replays the last 64 KB of VM output immediately on connect so the login prompt is visible straight away. Multiple browser tabs or devices can connect to the same port simultaneously, and the console closes cleanly when the VM stops.
  • Web Dashboard
    Performance improvements by reducing the server callback requests and bug fixes.
  • Shared Folder in VM Window
    The VM window now includes a new Shared Folders button in the top-right toolbar. Clicking it opens a popup that lists all shared folders configured for the VM, showing their names and paths. This provides quick access to shared folder without needing to open the full configuration editor.
  • Dynamically Attach and Detach Shared Folders at Runtime
    You can now attach any folder from your Mac to a virtual machine at any time. Click the Shared Folders button in the toolbar and choose Add Shared Folder… to pick a folder — if the VM is running, the folder becomes available inside the guest immediately. Runtime-attached folders appear in the popup with a badge icon and can be removed at any time using the button. These folders are session-only and are not saved to the VM configuration; they disappear when the VM is stopped. Runtime folders are also available as targets for drag-and-drop file copying.
  • Auto Action on Inactivity or Low Battery
    Configure automatic actions(pause / suspend / shutdown / stop) to take when the virtual machine is idle or when the host's battery level is low. This helps conserve system resources and battery life.. You can configure this behavior in VM Config Startup Shutdown
  • Pause & Restart in Headless VM
    Now you can pause and restart a headless virtual machine from the control center.
  • Virtual Machine Config Screen
    Better validation and error handling in the VM Config screen. Added a refresh button to generate a unique virtual machine name.
  • Software Update Check
    VirtualProg now checks for updates on launch and notifies you if a new version is available. You can manually check for updates in Settings.
  • VM Switcher
    A new keyboard-driven VM Switcher lets you instantly switch between running and suspended virtual machines without touching the mouse. Press the configurable shortcut (default ⌃⌥V) from anywhere — including from inside a VM window — to bring up a floating overlay showing all active VMs as thumbnail cards. Use the arrow keys to navigate, number keys 1–9 to jump directly to one of the first nine VMs, and Return to switch. The shortcut can be customised in Settings → General → VM Switcher.
  • URL Scheme Automation
    VirtualProg now supports a virtualprog:// custom URL scheme, letting you control virtual machines from Raycast, Alfred, macOS Shortcuts, shell scripts, or any tool that can open a URL. Use it to start, stop, pause, resume, restart, or suspend — with a single URL. The app launches automatically if it is not already running. See URL Scheme documentation for the full reference.
  • Drag & Drop Files to Shared Folder in VM Window
    You can now drag files from Finder directly onto any Virtual Machine window to copy them into a shared folder. Drop one or more files onto the VM window and, if multiple writable shared folders are configured, a picker lets you choose the destination. If only one writable shared folder exists, files are copied there immediately. A visual overlay confirms the drop target while dragging. The VM does not need to be running — files land in the shared folder and are visible inside the guest straight away.
  • IP Allowlist for CLI Server
    When External Access is enabled, you can now restrict which remote hosts may connect to the CLI server. Add individual IPv4/IPv6 addresses or CIDR ranges (e.g. 192.168.1.0/24) to the allowlist in Settings → CLI. Only listed addresses are granted access; all other remote connections receive a 403 Forbidden response. Localhost is always exempt. Blocked attempts are logged with the offending IP address for auditing.
  • CLI: Bulk VM Operations with Comma-Separated Names
    The vpvm CLI now accepts a comma-separated list of VM names for start, stop, shutdown, pause, resume, suspend, restart, and status — letting you act on multiple virtual machines in a single command. For example, vpvm start ubuntu-22.04,debian-12,macos-sonoma starts all three VMs at once. Each VM's result is reported on its own line, including any per-VM errors. VM names that contain spaces can be passed by quoting the entire comma-separated string.
  • CLI: Configure VM CPU and Memory
    The vpvm command-line tool now supports a configure command to adjust the CPU count and memory allocation of a virtual machine. Use --cpu and --memory (in MB) individually or together. The VM must be fully stopped and not suspended before changes can be applied.
  • Webhook Notifications
    Each virtual machine can now notify external services when its state changes. Add one or more HTTP or HTTPS URLs in VM Config → Webhooks and VirtualProg will POST a JSON payload — containing the event name, VM name, and timestamp — to every configured endpoint whenever the VM starts, stops, pauses, or is suspended. Useful for triggering CI/CD pipelines, posting to Slack or Teams, or integrating with monitoring tools.
 
  • Like
Reactions: hobowankenobi
Hey everyone,

I wanted to share an exciting heads-up regarding the next major release for VirtualProg. The upcoming update is set to bring some massive workflow enhancements, particularly around web-based management and cross-platform remote control.

Web Dashboard & Remote Control​

  • Web-Based VM Management: Create, configure, and manage VMs directly from any browser—including support for disks, custom networks, static IPs, and port forwarding.
  • Browser Remote Control: Live display streaming with full keyboard/mouse input, serial port access, and display resolution selection.
  • Centralized Management: Browser-based control for snapshots, templates, logs, image catalogs.
 
We've just released version 2.05 which includes
  • Remote VM Control (Web)
    Connect to running virtual machines from the browser with live display streaming and real-time keyboard and mouse input. Supports display resolution changes, screenshot capture, serial port access, memory balloon controls for supported Linux guests, and improved right-click handling. Remote access also works on Mobile devices with touch controls.
  • CLI Terminal (Web)
    Added a built-in terminal with support for VM, snapshot, template, network, image, log, and screenshot commands.
  • VM Management (Web)
    Create and configure virtual machines entirely from the Dashboard, including support for multiple disks, network configuration, static IPs, and port forwarding.
  • Dashboard Tabs (Web)
    Added dedicated tabs for logs, snapshots, templates, and image management with filtering, search, download tracking, restore operations, cloning, and configuration support.
  • Network Management (Web, CLI & Web CLI) (macOS Tahoe 26 or later)
    Added support for creating, editing, and deleting custom networks from the Dashboard and the vpvm command-line tool.
  • VM Security (Web)
    Password-protected VMs now display lock indicators in the Dashboard and require authentication before performing protected operations. Protected VMs automatically re-lock when stopped.
  • Image Catalog (Mac & Web)
    Added a centralized catalog for browsing, downloading, and managing macOS IPSW and Linux ISO images. Supports custom download URLs, CLI integration, Show in Finder for downloaded images, and includes Tahoe 26.5.
  • Entropy Device Control for Linux VMs (Mac & Web)
    Added per-VM control for the VirtIO entropy device used by Linux guests.
  • Random Name Generation (Mac & Web)
    VM clone, template, and snapshot creation workflows now generate unique default names automatically.
  • Display Resolution Control (Mac & Web)
    Quickly resize VM windows to supported resolutions when Auto Resolution is enabled.
  • Commands & Configuration (CLI & Web CLI)
    Added commands for VM creation, image management, snapshot and template creation, screenshots, logs, live status monitoring, and memory balloon control. All VM and template settings — including CPU, memory, display, startup behaviour, security, scheduling, disks, networks, serial ports, Rosetta, webhooks, and Network Block Devices — can now be configured from the vpvm tool and Web CLI.
  • Disk Management (Web, CLI & Web CLI)
    Virtual disks can now be listed, resized, and managed from the Dashboard, Web CLI, and vpvm tool. Recovery partition relocation is also supported for compatible macOS VMs.
  • Network Topology Diagram (Mac)
    Added a live interactive network topology view displaying VM connections, IP addresses, adapters, and port forwarding rules.
  • Snapshot Timeline (Mac)
    Added a dedicated visual timeline view for snapshots with restore, edit, delete, and VM or template creation actions.
  • Background and Headless VM Improvements (Mac)
    VMs can continue running after their window is closed, and display windows can be attached to running background or headless VMs. macOS VMs can now also be installed without a display window.
  • Custom VM Icons (Mac)
    Set custom icons for virtual machines and templates using any image from your Mac. Icons are displayed throughout the app, including VM lists, snapshots, templates, and Disk Analyzer.
  • Disk Analyzer Improvements (Mac)
    Fixed selection highlighting issues affecting disks with matching names across snapshots and templates.
  • Empty State Improvements (Mac)
    Added helpful empty-state messages across Control Center, Snapshots, and Templates views.
 
We've just released version 2.07 which includes
  • H265 & H264 Hardware Streaming for Remote Control (Web)
    The Quality dropdown in the remote control viewer now includes H265 and H264 — video codecs that encode only what changed on screen rather than sending every frame as a full image. This delivers a significantly smoother, more responsive display at a fraction of the bandwidth compared to JPEG or PNG. H265 is recommended — it produces a sharper, more fluid experience than H264 at the same or lower data rate. Both options automatically activate Auto FPS for best results. The codec options only appear when your browser and Mac both support them; if neither is available, the viewer falls back to standard image quality automatically.
  • Connection Stats Popup (Web)
    Clicking the latency badge in the remote control toolbar opens a live stats popup showing input latency (colour-coded green / amber / red), session duration, total data received from the stream, and — when Auto FPS is active — the current adapted stream rate.
  • More VMs Can Be Remote Controlled Simultaneously (Web)
    You can now remote control significantly more VMs at the same time with a smooth, responsive experience. Screen streaming is also smarter — it only runs while someone is actively connected, freeing up resources when the remote control session is closed.
  • Smoother Streaming When Switching Between Window and Background Mode (Web)
    Closing and re-opening a VM window while remote control is active no longer interrupts the stream. The session resumes seamlessly from where it left off.
  • Super Key on Keys Panel (Web)
    The remote control Keys Panel now includes the Super key for Linux VMs.
  • Super Key on Remote Control (Web)
    On Windows browsers, the Windows key is automatically mapped to the Super key when remote controlling a Linux VM.
  • Remote Control Visual Improvements (Web)
    Status overlays in the remote control screen now display in your accent color with improved styling and animations.
  • Snapshot Timeline Disk Bar Fixed (Web)
    The disk usage bar on each snapshot card now correctly reflects that snapshot's own fill percentage.
  • Remote Control Blank Bars Fixed (Web)
    Blank bands at the top and bottom of the remote control screen view are now gone when using "Fit to Window".
  • Web Stream HiDPI Option (Settings → Advanced) (Mac)
    A new toggle lets you capture the remote control stream at native Retina resolution for a sharper image in the browser. Disabled by default to keep bandwidth low — recommended for local network use only.
  • Permissions Screen (Tools → Permissions) (Mac)
    A new dedicated Permissions screen lets you view and manage the macOS permissions VirtualProg needs — Microphone and Screen Recording — in one place. Grant permissions directly from the screen or jump straight to System Settings if a permission was previously denied. Also shown as a step during first-run Onboarding so permissions are set up before you create your first VM.
  • Server Mode (Tools → Server Mode) (Mac, CLI, Web CLI)
    A new toggle that keeps the Web Dashboard responsive during remote control sessions. When enabled, informational and error alerts on the host Mac are suppressed and logged silently instead of displaying a popup that would pause the browser session. Confirmation dialogs are always shown. Enable, disable, or query the current state from the Tools menu, the status bar icon, the Web CLI Terminal (servermode --enable / --disable / --info), or the vpvm command line (vpvm servermode --info) — a checkmark indicates it is active.
 
We've just released version 2.10 which includes
  • Access Tokens (Mac, Web, CLI) Create scoped API tokens that grant limited access to specific VMs — without sharing your master token. Each token targets one or more VMs at Operator level (start/stop/pause) or Admin level (full access), with optional expiry dates and the ability to disable or revoke at any time. Manage tokens from Tools → Access Tokens on Mac, the Tokens tab in the web dashboard, or via vpvm token CLI commands. When signed in with a scoped token, restricted tabs are hidden and an amber indicator shows the active access level.
  • Two-Factor Authentication (Web) The web dashboard now supports two-factor authentication as an optional second step at login. Signing in requires your token plus a 6-digit code from an authenticator app; a successful login stays valid for 7 days. Set it up from Dashboard Settings → Security → Set up 2FA. Each token has its own independent 2FA setting.
  • Active Web Clients (Mac) A new Tools → Active Web Clients… window shows all browser sessions currently connected via Web Remote Control, including client IP and connection duration. Requires CLI Server to be enabled.
  • Faster Web Dashboard (Web) The built-in web server now compresses pages and API responses automatically. The dashboard loads faster and uses less bandwidth, especially on slower connections.
  • Guest IP Address Display (Mac, Web, CLI) The guest IP is now visible wherever VM information is shown — Control Center Extras, web dashboard VM cards and detail panel, and the Quick Info popup. In the CLI, vpvm list, vpvm watch, and vpvm info all include the IP, and vpvm ip <vmname> prints it cleanly for shell scripts (e.g. ssh user@$(vpvm ip ubuntu)).
  • Serial Log Download in Web Remote Control (Web) The log viewer for File-mode serial ports now has a Download button to save the port's output directly to your device as a .log file.
  • Keyboard Shortcuts Reference Panel (Web) Press ? in the web dashboard to open a reference sheet of all keyboard shortcuts. A keyboard icon in the header provides the same access.
  • JSON Output for CLI (CLI) All list and info commands in vpvm now accept --format json, printing the raw API response to stdout for use with jq and other tools — e.g. vpvm list --format json | jq '.vms[] | select(.info.state == "running") | .name'. Default plain-text output is unchanged.
  • Tahoe 26.5.1 in Image Catalog (Mac, Web) Tahoe 26.5.1 is now available in the Image Catalog for download.
  • Updated Linux Image Catalog (Mac, Web) Fedora 44, Debian 13.5.0, NixOS 26.05, and Rocky Linux 10.2 are now available in the Linux Image Catalog.
 
VirtualProg Trial Beta: macOS 27 Golden Gate Integration

Following Apple's announcements in WWDC2026 Session 224, we have integrated the latest macOS Virtualization updates into VirtualProg. A trial beta is now available for users running macOS 27 Golden Gate.

New Features Included:

  • USB Device Passthrough (Mac — macOS 27 Golden Gate or later) Connect USB devices from your Mac directly into a running virtual machine. Use the macOS menu bar USB accessory icon to assign a device to VirtualProg, then click the new USB Devices toolbar icon in the Virtual Machine window to attach or detach it from the guest. The device can be returned to the Mac at any time via the same menu bar icon. USB passthrough is opt-in — enable it in Settings → Advanced → USB Passthrough.
  • Checkpoints (macOS 27 Golden Gate or later) Instant, storage-efficient save-points powered by Apple's DiskImageKit ASIF overlay stacking. Create a checkpoint in seconds — only delta writes are stored, not a full disk copy. Restore any checkpoint to roll back changes instantly. Manage checkpoints with favorites, tag colors, search, overlay size details, list and grid views.
  • Provisioning (macOS guest — macOS 27 Golden Gate or later) Skip the macOS setup assistant entirely. Enable Provisioning in the VM configuration to automatically create a user account on first boot — set the full name, username, password, auto login, and remote login in advance. VirtualProg applies the account details the moment the guest starts for the first time after installation.
Please note: The new core networking features highlighted by Apple are already natively supported within VirtualProg.

Help Us ImprovePlease test this beta on your macOS 27 environment and submit your feedback here. Your input directly shapes our development timeline, helping us deliver a polished, production-ready application in time for the official macOS 27 release.


Please download from VirtualProg for macOS 27 Golden Gate

Preview video
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.