diff --git a/Control/Monad/Codensity.hs b/Control/Monad/Codensity.hs
--- a/Control/Monad/Codensity.hs
+++ b/Control/Monad/Codensity.hs
@@ -18,7 +18,7 @@
   ) where
 
 import Control.Applicative
-import Control.Monad (ap)
+import Control.Monad (ap, MonadPlus(..))
 import Data.Functor.Adjunction
 import Data.Functor.Apply
 import Control.Monad.Trans.Class
@@ -52,6 +52,14 @@
 instance MonadTrans CodensityT where
   lift m = CodensityT (m >>=)
 
+instance Alternative v => Alternative (CodensityT v) where
+  empty                         = CodensityT (\_ -> empty)
+  CodensityT m <|> CodensityT n = CodensityT (\k -> m k <|> n k)
+
+instance MonadPlus v => MonadPlus (CodensityT v) where
+  mzero                             = CodensityT (\_ -> mzero)
+  CodensityT m `mplus` CodensityT n = CodensityT (\k -> m k `mplus` n k)
+ 
 lowerCodensityT :: Monad m => CodensityT m a -> m a
 lowerCodensityT a = runCodensityT a return
 
diff --git a/kan-extensions.cabal b/kan-extensions.cabal
--- a/kan-extensions.cabal
+++ b/kan-extensions.cabal
@@ -1,6 +1,6 @@
 name:          kan-extensions
 category:      Data Structures, Monads, Comonads, Functors
-version:       0.2.1
+version:       0.2.2
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
