           toUpdate.push plugin.packageName
       npm.load npmConfig, (err) ->
         npm.commands.update toUpdate, (er, data) ->
-          callback()
+          callback(er)
       @setState
         updating: updating
         updatingAll: true

      updating[index] = true
      npm.load npmConfig, (err) ->
        npm.commands.update [plugins[index].packageName], (er, data) ->
          callback(index)
      @setState {updating}
  handleInstallAllComplete: () ->
    installAllStatus = []
    for installTarget of installTargets
      installAllStatus.push 2
    @setState
      installStatus: installAllStatus
      installing: false
  handleInstallAll: (callback) ->
    installAllStatus = []
    toInstall = []
    for installTarget of installTargets
      installAllStatus.push 1
      toInstall.push installTarget
    npm.load npmConfig, (err) ->
      npm.commands.install toInstall, (er, data) ->
        callback()
    @setState
      installStatus: installAllStatus
      installing: true
  handleUpdateAllComplete: () ->
    updating = @state.updating
    for plugin, index in plugins
      plugin.version = @state.latest[plugin.packageName]
      updating[index] = false
    @checkUpdate(@solveUpdate, false)
    @setState

                           pulse={@state.updatingAll}/>
              <span> {__ "Update all"}</span>
            </Button>
            <Button onClick={@handleInstallAll.bind @, @handleInstallAllComplete}
                    disabled={@state.installing}
                    className="control-button"
                    style={width: '33%'}>
