diff --git a/src/Yi/Eval.hs b/src/Yi/Eval.hs
--- a/src/Yi/Eval.hs
+++ b/src/Yi/Eval.hs
@@ -42,7 +42,7 @@
 import Prelude hiding (mapM_)
 
 import Lens.Micro.Platform ( (^.), (.=), (%=) )
-import Control.Monad (when)
+import Control.Monad (when, forever, void)
 import Data.Array ( elems )
 import Data.Binary ( Binary )
 import Data.Default ( Default, def )
@@ -74,9 +74,9 @@
       InterpreterError,
       Extension(OverloadedStrings),
       setTopLevelModules,
+      InterpreterT,
       interpret )
 import System.Directory ( doesFileExist )
-import Yi.Boot.Internal ( reload )
 import Yi.Core ( errorEditor )
 import Yi.Editor
     ( getEditorDyn,
@@ -212,18 +212,23 @@
       LHI.setTopLevelModules ["Env"]
 
     -- Yi.Keymap: Action lives there
-    LHI.setImportsQ [("Yi", Nothing), ("Yi.Keymap",Just "Yi.Keymap")]
-
-    forever $ lift (takeMVar request) >>= \case
-      HintEvaluate s response -> do
-        res <- try $ LHI.interpret ("Yi.makeAction (" ++ s ++ ")") (LHI.as :: Action)
-        lift $ putMVar response res
-      HintGetNames response -> do
-        res <- try $ LHI.getModuleExports "Yi"
-        lift $ putMVar response res
-      HintDescribe name response -> do
-        res <- try $ LHI.typeOf name
-        lift $ putMVar response res
+    setImp <- try $ LHI.setImportsQ [("Yi", Nothing), ("Yi.Keymap",Just "Yi.Keymap")] 
+      :: LHI.InterpreterT IO (Either LHI.InterpreterError ())
+    case setImp of
+      Left e -> lift $ forever $ takeMVar request >>= \case
+        HintEvaluate _ response -> putMVar response (Left e)
+        HintGetNames   response -> putMVar response (Left e)
+        HintDescribe _ response -> putMVar response (Left e)
+      Right _ -> forever $ lift (takeMVar request) >>= \case
+        HintEvaluate s response -> do
+          res <- try $ LHI.interpret ("Yi.makeAction (" ++ s ++ ")") (LHI.as :: Action)
+          lift $ putMVar response res
+        HintGetNames response -> do
+          res <- try $ LHI.getModuleExports "Yi"
+          lift $ putMVar response res
+        HintDescribe name response -> do
+          res <- try $ LHI.typeOf name
+          lift $ putMVar response res
 
 -- Evaluator implemented by calling GHCi. This evaluator can run
 -- arbitrary expressions in the class 'YiAction'.
@@ -245,7 +250,6 @@
                           }
   where
     execAction :: String -> YiM ()
-    execAction "reload" = reload
     execAction s = do
       request <- getHintThread
       res <- io $ do
diff --git a/yi-core.cabal b/yi-core.cabal
--- a/yi-core.cabal
+++ b/yi-core.cabal
@@ -1,5 +1,5 @@
 name:           yi-core
-version:        0.17.0
+version:        0.17.1
 synopsis:       Yi editor core library
 category:       Yi
 homepage:       https://github.com/yi-editor/yi#readme
@@ -51,8 +51,9 @@
     , unix-compat >= 0.1
     , unordered-containers >= 0.1.3
     , xdg-basedir >= 0.2.1
-    , yi-language >= 0.1.1.0
+    , yi-language >= 0.17
     , yi-rope >= 0.10
+    , exceptions
   if flag(hint)
     cpp-options: -DHINT
     build-depends:
