         repl-build   (first (config/narrow-builds* all-builds' build-ids))
         build-ids    (or (not-empty build-ids) [(:id repl-build)]) ;; give a default build-id
         control-fns  (setup-control-fns all-builds' build-ids figwheel-server)
-        special-fns  (into {} (map (fn [[k v]] [k (make-special-fn v)]) control-fns))]
+        special-fns  (into {} (map (fn [[k v]] [k (make-special-fn v)]) control-fns))
+        special-fns  (merge cljs.repl/default-special-fns special-fns)
+        ;; TODO remove this when cljs.repl error catching code makes it to release
+        special-fns  (into {} (map (fn [[k v]] [k (catch-special-fn-errors v)]) special-fns))]
     ((get control-fns 'start-autobuild) build-ids)
     (newline)
     (print "Launching ClojureScript REPL")
     (when-let [id (:id repl-build)] (println " for build:" id))
     (println (repl-function-docs))
     (println "Prompt will show when figwheel connects to your application")
-    ;; it would be cool to switch the repl's build as well is this possible?
+    ;; it would be cool to switch the repl's build as well, is this possible?
     (fig-repl/repl repl-build figwheel-server {:special-fns special-fns})))
 
 (defn autobuild [src-dirs build-options figwheel-options]

     ;; are we only accepting string ids?
     (f (keep namify args)))))

(defn setup-control-fns [all-builds build-ids figwheel-server]
  (let [logfile-path (or (:server-logfile figwheel-server) "figwheel_server.log")
        _ (mkdirs logfile-path)

(defn repl-function-docs  []
  "Figwheel Controls:
          (stop-autobuild)           ;; stops Figwheel autobuilder
          (start-autobuild [id ...]) ;; starts autobuilder focused on optional ids
          (switch-to-build id ...)   ;; switches autobuilder to different build
          (reset-autobuild)          ;; stops, cleans, and starts autobuilder
          (build-once [id ...])      ;; builds source once time
          (clean-build [id ..])      ;; deletes compiled cljs target files
    Docs: (doc function-name-here)
    Exit: Control+C or :cljs/quit
 Results: Stored in vars *1, *2, *3")
