A wrapper app generator that integrates Windows apps on VMware Fusion into macOS Dock as native apps.
Coheremote is a wrapper app generator tool that integrates Windows applications running on VMware Fusion into the macOS Dock as native apps. It uses RemoteApp (RDP) technology to provide a seamless operating experience. The generated wrapper apps are native binaries compiled in Swift.
Inspired by this post on X.
| Requirement | Notes |
|---|---|
| macOS 13.0 or later | Ventura or later |
| VMware Fusion | Installed in /Applications |
| Windows App | Install from the Mac App Store (formerly Microsoft Remote Desktop) |
| RDP File | Create using RemoteApp Tool or export from Windows App (see below) |
| Xcode Command Line Tools | swiftc is required to compile generated apps |
| Full Disk Access | Required for both Coheremote and all generated wrapper apps |
.zip from Releases/Applicationsxattr -cr /Applications/Coheremote.app
| Field | Description |
|---|---|
| Application Name | Name of the wrapper app to generate |
| Save Location | Where to save the generated .app |
| Icon Image | PNG, JPG, ICO, or ICNS file (optional) |
| VM Path | .vmx file or .vmwarevm bundle |
| VM Encryption Password | For encrypted VMs (optional) |
| RDP File | RemoteApp .rdp file (see how to create) |
| Windows Username | For login |
| Windows Password | Used for fetching app list in the launcher (optional, requires VMware Tools) |
| Menu | Description |
|---|---|
| Reconnect | Re-establish RDP connection (use when the Windows app was closed) |
| Restart Windows | Send a soft restart to the VM and auto-reconnect RDP after boot |
| Shutdown and Quit | Shutdown Windows and then quit the wrapper app |
Click the menu bar icon to display the launcher panel.
Note: To use the app list in the launcher, you must enter the Windows Password in Coheremote settings and have VMware Tools installed on the Windows side.
Publish individual Windows applications as RemoteApps.
notepad.exe).rdp file.rdp file to your Mac and use it with CoheremoteExport an existing connection from Windows App (formerly Microsoft Remote Desktop) on macOS.
.rdp file and use it with CoheremoteNote: Exporting from Windows App creates a full desktop connection. To make it a RemoteApp connection for an individual app, use Method 3 (Coheremote's conversion feature) or open the .rdp file in a text editor and add the following lines:
remoteapplicationmode:i:1
remoteapplicationname:s:AppName
remoteapplicationprogram:s:AppPath
Example (Notepad):
remoteapplicationmode:i:1
remoteapplicationname:s:Notepad
remoteapplicationprogram:s:C:\Windows\System32\notepad.exe
Convert RDP files directly from Coheremote's settings screen, eliminating the need for manual RDP file editing.
.rdp file using Method 2vmrun command only accepts passwords via process arguments (-vp, -gp). This means other processes from the same user can view the password via the ps command. This is a known limitation of vmrun — exercise caution in shared environments/, \, :, *, ?, ", <, >, |) are automatically removed from app names at build time| Problem | Solution |
|---|---|
| "Operation not permitted" error | Full Disk Access is not granted. Add the app in System Settings > Privacy & Security > Full Disk Access. |
| VM does not start | Check that VMware Fusion is installed in /Applications and the VM path is correct. Logs: ~/Library/Logs/Coheremote/ |
| RemoteApp does not appear | Select "Restart Windows" from the Dock menu. If unresolved, recreate the .rdp file with RemoteApp Tool. |
| Windows app was closed | Select "Reconnect" from the Dock menu to re-establish the RDP connection. |
| Multiple wrapper apps at the same time | If windows for the 2nd+ apps don't appear, select "Reconnect" from the Dock menu. When multiple wrapper apps share the same VM, suspend/shutdown won't occur until the last app quits. |
| RDP connection fails | Check that Windows App (formerly Microsoft Remote Desktop) is installed. Test by manually opening the RDP file. |
| Auto login doesn't work | On first connection, Windows App may ask to save the password to the Keychain. Click "Allow" and auto login will work from the next connection. |