diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for polysemy-methodology
 
+## v0.2.1.0
+
+* Drop dependency on polysemy-plugin.
+
 ## v0.2.0.0
 
 * Drop dependency on polysemy-zoo and replace with polysemy-several.
diff --git a/polysemy-methodology.cabal b/polysemy-methodology.cabal
--- a/polysemy-methodology.cabal
+++ b/polysemy-methodology.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           polysemy-methodology
-version:        0.2.0.0
+version:        0.2.1.0
 synopsis:       Domain modelling algebra for polysemy
 category:       Polysemy
 author:         Daniel Firth
@@ -34,6 +34,5 @@
       base >=4.7 && <4.16
     , polysemy >=1.3.0.0 && <1.7
     , polysemy-kvstore >=0.1.2.0 && <0.2
-    , polysemy-plugin >=0.3 && <0.5
     , polysemy-several ==0.1.*
   default-language: Haskell2010
diff --git a/src/Polysemy/Methodology.hs b/src/Polysemy/Methodology.hs
--- a/src/Polysemy/Methodology.hs
+++ b/src/Polysemy/Methodology.hs
@@ -9,7 +9,6 @@
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE TypeApplications #-}
 {-# LANGUAGE TypeOperators #-}
-{-# OPTIONS_GHC -fplugin=Polysemy.Plugin #-}
 
 -- |
 --   Module     : Polysemy.Methodology
@@ -257,7 +256,7 @@
     r =>
   Sem r a ->
   Sem r a
-teeMethodologyOutput = intercept \case
+teeMethodologyOutput = intercept @(Methodology b c) \case
   Process b -> do
     k <- process @b @c b
     output @c k
@@ -320,7 +319,7 @@
   (b -> c) ->
   Sem r a ->
   Sem r a
-runMethodologyMappendPure f = intercept \case
+runMethodologyMappendPure f = intercept @(Methodology b c) \case
   Process b -> (f b <>) <$> process @b @c b
 {-# INLINE runMethodologyMappendPure #-}
 
@@ -336,7 +335,7 @@
   (b -> Sem r c) ->
   Sem r a ->
   Sem r a
-runMethodologyMappendSem f = intercept \case
+runMethodologyMappendSem f = intercept @(Methodology b c) \case
   Process b -> liftA2 (<>) (f b) (process @b @c b)
 {-# INLINE runMethodologyMappendSem #-}
 
@@ -612,7 +611,7 @@
   (b -> String) ->
   Sem r a ->
   Sem r a
-traceMethodologyStart f = intercept \case
+traceMethodologyStart f = intercept @(Methodology b c) \case
   Process b -> trace (f b) >> process @b @c b
 {-# INLINE traceMethodologyStart #-}
 
@@ -630,7 +629,7 @@
   (c -> String) ->
   Sem r a ->
   Sem r a
-traceMethodologyEnd f = intercept \case
+traceMethodologyEnd f = intercept @(Methodology b c) \case
   Process b -> do
     c <- process @b @c b
     trace $ f c
@@ -653,7 +652,7 @@
   (c -> String) ->
   Sem r a ->
   Sem r a
-traceMethodologyAround f g = intercept \case
+traceMethodologyAround f g = intercept @(Methodology b c) \case
   Process b -> do
     trace $ f b
     c <- process @b @c b
