 
 (defn start []
   (when-not (.exists (io/file worker-file))
-    (throw (ex-info (format "can't find %s, please install npm install --save-dev shadow-cljs." worker-file) {})))
+    (log/warnf "can't find %s, please install npm install --save-dev shadow-cljs." worker-file))
 
   (let [babel-in (async/chan 100)]
     {::service true

      ;; FIXME: errors need to go somewhere else, this is not reliable
      (.start (Thread. (bound-fn [] (pipe proc (.getErrorStream proc) *err*))))

      (assoc state :proc proc
        :in (PushbackReader. (io/reader (.getInputStream proc)))
        :out (io/writer (.getOutputStream proc)))
      )))

        (>!! reply-to res))
      state)
    (catch Exception e
      (log/warnf e "babel-transform! failed")
      state)
    (finally
      (async/close! reply-to))))
