Skip to content
command line tool to manage vmware fusion vms
Latest commit 8489206 Oct 4, 2013 @thbishop bumping version to 0.5.0
Failed to load latest commit information.
bin refactor Fission::CLI Feb 2, 2012
spec Merge branch 'update_rspec_dependency' of… Oct 4, 2013
.gitignore ignore doc dir Oct 14, 2011
.rspec add basic structure and some testing gems May 12, 2011
.ruby-version Update ruby version to 1.9.3-p448 Oct 5, 2013
.travis.yml add travis config Jun 22, 2013 update CHANGELOG Oct 4, 2013
Gemfile add basic structure and some testing gems May 12, 2011
LICENSE update readme and add changelog and license May 16, 2011 Add dependency status to README Oct 4, 2013
fission.gemspec Merge pull request #29 from sferik/update_cfpropertylist_dependency Oct 4, 2013


Build Status Dependency Status


Fission is a simple command line tool for managing VMware Fusion VMs. Only Fusion 3.x is currently supported. See Fusion Version Support for more info.


gem install fission



fission clone existing_vm new_vm [--start]

If you provide '--start', then the new VM will be powered on after cloning


fission delete my_vm [--force]

Deletes the VM. This will delete the files from disk and remove the related metadata in Fusion.

By default, the VM will not be deleted if:

  • The VM is running
  • The Fusion GUI is running (as the metadata cannot be cleanly removed)

Providing '--force' will:

  • Stop the VM if it's running
  • Delete the VM even if the Fusion GUI is running


fission info my_vm

Outputs information about the VM

Snapshot Create

fission snapshot create my_vm snapshot_name

Creates a snapshot for the VM

In order to create the snapshot:

  • The VM must be running
  • The snapshot name must be unique

Snapshot Delete

fission snapshot delete my_vm snapshot_name

Deletes a snapshot for the VM

If you have the Fusion GUI running, the VM must be running in order to delete the snapshot.

Snapshot List

fission snapshot list my_vm

Lists the snapshots for the VM

Snapshot Revert

fission snapshot revert my_vm existing_snapshot

Reverts a VM to an existing snapshot

In order to revert to the snapshot:

  • The Fusion GUI cannot be running


fission start my_vm [--headless]

Starts the VM

Providng '--headless' will start the VM without a Fusion GUI console

Note that the Fusion GUI cannot be running to start a VM with '--headless'


fission status

Displays the status (running or not) of all of the VMs found


fission stop my_vm

Stops the VM


fission suspend [my_vm | --all]

Suspends the VM or all running VMs


fission -h

or just



By default, fission will use the default VMware Fusion VM directory (~/Documents/Virtual Machines.localized/) when cloning. If you want to use a different directory, you can set this in a config file.

The config file needs to be in YAML format and live at '~/.fissionrc'

$cat ~/.fissionrc
vm_dir: "/vm"

Fusion Version Support

As of now, only Fusion 3.x is supported (that's what I have available to test). It's my understanding that some folks are currently using fission with Fusion 4.x as well. In order to have fission work with Fusion 4.x, you will need to tell fission where the Fusion 4.x vmrun file is. You can do so with the following item placed in your ~/.fissionrc (remember, YAML format):

vmrun_bin: /Applications/VMware

Other Notable Info

The name of the VM used in the previous examples should be the directory name of the VM minus the '.vmwarevm' extension. Typically the VM name and the directory name are the same.

As of now, VMware Fusion doesn't provide an easy, out of the box, way to modify the personality (hostname, ip, etc.) of a VM. Because of this, a clone created by fission is an exact copy of the original (including hostname, ip address, etc.). Most likely, this isn't what you want.

One approach is to create a VM which will act as a template. Create the VM with the desired install method (ideally with easy install) and settings, but do not power on the VM. You can then create clones from this VM 'template'. When you power on the clone, it will start the OS install process (and assign a new ip, etc.).

Fission with RVM

Please see the following gist for a walkthrough of making fission available regardless of ruby environment when using RVM


  • Fork the project
  • Make your feature addition or bug fix (with tests and docs) in a topic branch
  • Bonus points for not mucking with the gemspec or version
  • Send a pull request and I'll get it integrated



Something went wrong with that request. Please try again.