             (when (System/getenv "DEBUG") (clojure.repl/pst t))
             :failure))]
     (when (= :success continue)
-      (recur connection))))
+      (recur options connection))))
 
 (defn main
   [options]

        (pr-str `(binding [*ns* (symbol ~(deref current-ns))] ~form))))
    (read-string @results)))

(defn poll-for-responses [connection]
  (let [continue
        (try
          (when-let [{:keys [out err] :as resp}
                     (nrepl.transport/recv connection 100)]
            (when err (print err))
            (when out (print out))
            (when-not (or err out)
              (.offer ^LinkedBlockingQueue (@response-queues (:session resp))
                      resp))

          options (assoc options :print-value
                         (->fn print-value print))
          options (if (:color options)
                    (merge options (clojure.set/rename-keys
                                     nrepl.cmdline/colored-output
                                     {:value :print-value
                                      :out :print-out
                                      :err :print-err}))
                    options)
          completion-eval-fn (partial completion-eval client completion-session)
          options (assoc options
