       @configFileHasErrors = true
       message = "Failed to load `#{path.basename(@configFilePath)}`"
 
-      detail = if error.location?
+      if error.location?
         # stack is the output from JSON in this case
-        error.stack
+        detail = error.stack
       else
         # message will be EACCES permission denied, et al
-        error.message
+        detail = error.message
+      detail += "\n\nMake sure the file (#{@configFilePath}) contains valid JSON, or delete it to reset N1."
 
       @notifyFailure(message, detail)
 

      @watchSubscription ?= pathWatcher.watch @configFilePath, (eventType) =>
        @requestLoad() if eventType is 'change' and @watchSubscription?
    catch error
      @notifyFailure """
        Unable to watch path: `#{path.basename(@configFilePath)}`. Make sure you have permissions to
        `#{@configFilePath}`. On linux there are currently problems with watch
        sizes.

    @watchSubscription = null

  notifyFailure: (errorMessage, detail) ->
    dialog.showErrorBox(errorMessage, detail)

  save: ->
    manager = app.sharedFileManager
