diff --git a/Control/Monad/Cont/Class.hs b/Control/Monad/Cont/Class.hs
--- a/Control/Monad/Cont/Class.hs
+++ b/Control/Monad/Cont/Class.hs
@@ -55,6 +55,7 @@
 import Control.Monad.Trans.Cont (ContT)
 import qualified Control.Monad.Trans.Cont as ContT
 import Control.Monad.Trans.Error as Error
+import Control.Monad.Trans.Except as Except
 import Control.Monad.Trans.Identity as Identity
 import Control.Monad.Trans.List as List
 import Control.Monad.Trans.Maybe as Maybe
@@ -95,6 +96,9 @@
 
 instance (Error e, MonadCont m) => MonadCont (ErrorT e m) where
     callCC = Error.liftCallCC callCC
+
+instance (MonadCont m) => MonadCont (ExceptT e m) where
+    callCC = Except.liftCallCC callCC
 
 instance (MonadCont m) => MonadCont (IdentityT m) where
     callCC = Identity.liftCallCC callCC
diff --git a/Control/Monad/RWS/Class.hs b/Control/Monad/RWS/Class.hs
--- a/Control/Monad/RWS/Class.hs
+++ b/Control/Monad/RWS/Class.hs
@@ -31,6 +31,7 @@
 import Control.Monad.Writer.Class
 
 import Control.Monad.Trans.Error(Error, ErrorT)
+import Control.Monad.Trans.Except(ExceptT)
 import Control.Monad.Trans.Maybe(MaybeT)
 import Control.Monad.Trans.Identity(IdentityT)
 import Control.Monad.Trans.RWS.Lazy as Lazy (RWST)
@@ -47,6 +48,8 @@
 -- Instances for other mtl transformers
 
 instance (Error e, MonadRWS m) => MonadRWS (ErrorT e m)
+
+instance (MonadRWS m) => MonadRWS (ExceptT e m)
 
 instance (MonadRWS m) => MonadRWS (IdentityT m)
 
diff --git a/Control/Monad/Reader/Class.hs b/Control/Monad/Reader/Class.hs
--- a/Control/Monad/Reader/Class.hs
+++ b/Control/Monad/Reader/Class.hs
@@ -42,6 +42,7 @@
 
 import Control.Monad.Trans.Cont as Cont
 import Control.Monad.Trans.Error
+import Control.Monad.Trans.Except
 import Control.Monad.Trans.Identity
 import Control.Monad.Trans.List
 import Control.Monad.Trans.Maybe
@@ -117,6 +118,11 @@
     type EnvType (ErrorT e m) = EnvType m
     ask   = lift ask
     local = mapErrorT . local
+
+instance (MonadReader m) => MonadReader (ExceptT e m) where
+    type EnvType (ExceptT e m) = EnvType m
+    ask   = lift ask
+    local = mapExceptT . local
 
 instance (MonadReader m) => MonadReader (IdentityT m) where
     type EnvType (IdentityT m) = EnvType m
diff --git a/Control/Monad/State/Class.hs b/Control/Monad/State/Class.hs
--- a/Control/Monad/State/Class.hs
+++ b/Control/Monad/State/Class.hs
@@ -28,6 +28,7 @@
 import Control.Monad.Trans (lift)
 import Control.Monad.Trans.Cont
 import Control.Monad.Trans.Error
+import Control.Monad.Trans.Except
 import Control.Monad.Trans.Identity
 import Control.Monad.Trans.List
 import Control.Monad.Trans.Maybe
@@ -104,6 +105,11 @@
 
 instance (Error e, MonadState m) => MonadState (ErrorT e m) where
     type StateType (ErrorT e m) = StateType m
+    get = lift get
+    put = lift . put
+
+instance (MonadState m) => MonadState (ExceptT e m) where
+    type StateType (ExceptT e m) = StateType m
     get = lift get
     put = lift . put
 
diff --git a/Control/Monad/Writer/Class.hs b/Control/Monad/Writer/Class.hs
--- a/Control/Monad/Writer/Class.hs
+++ b/Control/Monad/Writer/Class.hs
@@ -25,6 +25,7 @@
   ) where
 
 import Control.Monad.Trans.Error as Error
+import Control.Monad.Trans.Except as Except
 import Control.Monad.Trans.Identity as Identity
 import Control.Monad.Trans.Maybe as Maybe
 import Control.Monad.Trans.Reader
@@ -100,6 +101,12 @@
     tell   = lift . tell
     listen = Error.liftListen listen
     pass   = Error.liftPass pass
+
+instance (MonadWriter m) => MonadWriter (ExceptT e m) where
+    type WriterType (ExceptT e m) = WriterType m
+    tell   = lift . tell
+    listen = Except.liftListen listen
+    pass   = Except.liftPass pass
 
 instance (MonadWriter m) => MonadWriter (IdentityT m) where
     type WriterType (IdentityT m) = WriterType m
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,12 @@
+## 0.2.1.0
+
+Add `MonadCont`, `MonadReader`, `MonadState`, `MonadRWS`,
+`MonadWriter` instances for `ExceptT`.
+
+Published by: Chris Martin
+
+Date: 2023-07-10
+
 ## 0.2.0.0
 
 Added new modules `Control.Monad.Except` and
diff --git a/monads-tf.cabal b/monads-tf.cabal
--- a/monads-tf.cabal
+++ b/monads-tf.cabal
@@ -1,7 +1,7 @@
 cabal-version: 3.0
 
 name:         monads-tf
-version:      0.2.0.0
+version:      0.2.1.0
 license:      BSD-3-Clause
 license-file: LICENSE
 author:       Andy Gill
