diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -33,3 +33,6 @@
 
 ## 1.2.0.0 -- 2022-01-13
 * Change the readline dependency to haskeline.
+
+## 1.3.0.0 -- 2022-01-13
+* Bump and freeze haskeline dependency.
diff --git a/Language/Explorer/Tools/REPL.hs b/Language/Explorer/Tools/REPL.hs
--- a/Language/Explorer/Tools/REPL.hs
+++ b/Language/Explorer/Tools/REPL.hs
@@ -11,6 +11,7 @@
 import Text.Read (readMaybe)
 import Control.Arrow (Arrow(first))
 import Control.Monad.Trans
+import Control.Monad.Catch
 
 
 type MetaTable p m c o = [(String, String -> Explorer p m c o -> m (Explorer p m c o))]
@@ -51,7 +52,7 @@
 constructMetaTable :: MonadIO m => String -> [(String, String -> Explorer p m c o -> m (Explorer p m c o))]
 constructMetaTable prefix = map (first (prefix ++ )) metaTable
 
-repl :: (Eq p, Eq o, Monoid o, MonadIO m, Hl.MonadException m) => Repl p m c o
+repl :: (Eq p, Eq o, Monoid o, MonadIO m, MonadMask m) => Repl p m c o
 repl prompt parser metaPrefix metaTable metaHandler outputHandler ex =
   Hl.runInputT Hl.defaultSettings (loop ex)
     where
diff --git a/exploring-interpreters.cabal b/exploring-interpreters.cabal
--- a/exploring-interpreters.cabal
+++ b/exploring-interpreters.cabal
@@ -1,7 +1,7 @@
 cabal-version:       >=1.10
 
 name:                exploring-interpreters
-version:             1.2.0.0
+version:             1.3.0.0
 synopsis:            A generic exploring interpreter for exploratory programming
 -- synopsis:
 -- description:
@@ -41,7 +41,8 @@
       text                  >= 1.2.4 && < 1.3,
       http-types            >= 0.12.3 && < 0.13,
       network               >= 3.1.2 && < 3.2,
-      haskeline
+      haskeline             ==0.8.2,
+      exceptions            ==0.10.4
 
   -- hs-source-dirs:
   default-language:    Haskell2010
