           if err or @silentErrors
             @emit 'adventureError', err
             console.error "Errors occurred!".red.bold
-            console.error err.message.red.underline if err
+            if err
+              console.error err.message.red.underline
+              console.error err.stack.red
             console.error()
             process.exit 1
 

    if opts.silent
      @silentErrors = true
      console.error error.message.red.underline
      return
    else
      throw error

        match = (regex) -> e.message.match regex
        if not opts.okErrors or opts.okErrors.some(match)
          console.error "Error occurred: #{e.message}".red.underline
          console.error e.stack.red
          console.log "Retrying in #{opts.wait}ms.".red.bold
          console.log "Retries remaining: #{opts.times}".red.bold
          Sync.sleep(opts.wait)
