diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,9 @@
 # Changelog for Hedis
 
+## 0.12.6
+
+* PR #138, Issue #137. Derive MonadFail for the Redis monad
+
 ## 0.12.5
 
 Issue #136 fix slowlog parsing
diff --git a/hedis.cabal b/hedis.cabal
--- a/hedis.cabal
+++ b/hedis.cabal
@@ -1,5 +1,5 @@
 name:               hedis
-version:            0.12.5
+version:            0.12.6
 synopsis:
     Client library for the Redis datastore: supports full command set,
     pipelining.
diff --git a/src/Database/Redis/Core.hs b/src/Database/Redis/Core.hs
--- a/src/Database/Redis/Core.hs
+++ b/src/Database/Redis/Core.hs
@@ -17,6 +17,9 @@
 import Control.Applicative
 #endif
 import Control.Exception
+#if __GLASGOW_HASKELL__ >= 860
+import Control.Monad.Fail (MonadFail)
+#endif
 import Control.Monad.Reader
 import qualified Data.ByteString as B
 import Data.IORef
@@ -42,6 +45,10 @@
 --  possibility of Redis returning an 'Error' reply.
 newtype Redis a = Redis (ReaderT RedisEnv IO a)
     deriving (Monad, MonadIO, Functor, Applicative)
+
+#if __GLASGOW_HASKELL__ >= 860
+deriving instance MonadFail Redis
+#endif
 
 data RedisEnv = Env { envConn :: PP.Connection, envLastReply :: IORef Reply }
 
