   command :stop, "Stops the remote node" do
     option(:name)
     option(:cookie)
+    option(:id)
   end
 
   command :restart, "Restarts the remote node. This will not restart the emulator" do
     option(:name)
     option(:cookie)
+    option(:id)
   end
 
   command :reboot, "Reboots the remote node. This will restart the emulator" do
     option(:name)
     option(:cookie)
+    option(:id)
   end
 
   # Stub for `describe`

  command :describe, "Describes the currently installed release" do
    option(:name)
    option(:cookie)
    option(:release, :string, "The name of the release")
    option(:release_root_dir, :string, "The root directory for all releases")
    option(:sysconfig, :string, "The path to the sys.config file used by the release")

  end

  @doc false
  def start_distribution!(name, cookie, suffix \\ nil) do
    {peer, name, type} =
      case name_components(name) do
        %{name: name, full: full_name, host: host, type: type} when not is_nil(suffix) ->
          {full_name, suffix_name_long(name, host, suffix), type}
        %{name: name, full: full_name, host: host, type: type} ->
          {full_name, suffix_name_long(name, host), type}
        %{name: name, full: full_name, type: type} when not is_nil(suffix) ->
          {full_name, suffix_name(name, suffix), type}
        %{name: name, full: full_name, type: type} ->
          {full_name, suffix_name(name), type}
        {:error, reason} ->
