diff --git a/src/Shift/Generate.hs b/src/Shift/Generate.hs
index e433cfc06947f74554a3369f77ffc4d4c38f7cfd..0b0794bdda7c523f84be930e506bc29d2c353421 100644
--- a/src/Shift/Generate.hs
+++ b/src/Shift/Generate.hs
@@ -3,7 +3,7 @@ module Shift.Generate where
 import CMarkGFM (nodeToCommonmark)
 import Control.Monad.IO.Class (MonadIO (liftIO))
 import qualified Data.Text.IO as TIO
-import Shift.CLI (ShiftOptions (ShiftOptions))
+import Shift.CLI (ShiftOptions)
 import Shift.Git (renderToNode)
 
 runGenerate :: Maybe FilePath -> ShiftOptions -> IO ()
diff --git a/src/Shift/Git.hs b/src/Shift/Git.hs
index 2cbd9582a98f5c2eeb7a876536b6d5c79fd46c4d..84dbcddc7881cb3557b17ce05ce8445af6f299d7 100644
--- a/src/Shift/Git.hs
+++ b/src/Shift/Git.hs
@@ -5,9 +5,8 @@
 
 module Shift.Git where
 
-import CMarkGFM (Node (Node), NodeType (DOCUMENT), nodeToCommonmark)
+import CMarkGFM (Node (Node), NodeType (DOCUMENT))
 import Control.Lens ((^.))
-import Control.Monad (void)
 import Control.Monad.Catch (throwM)
 import Control.Monad.Reader (runReaderT)
 import Control.Monad.State (runStateT)
@@ -34,7 +33,6 @@ import Data.Set as S (Set, toList)
 import Data.String.Conversions (cs)
 import Data.Text (Text)
 import qualified Data.Text as T
-import qualified Data.Text.IO as TIO
 import Data.Tuple (swap)
 import Data.Versions (versioning)
 import Data.Void (Void)
@@ -47,7 +45,6 @@ import Shift.Rendering (printReport)
 import Shift.Types
 import Shift.Utilities (orError, pairs)
 import System.Process (readCreateProcess, shell)
-import Text.Megaparsec (ParseError)
 import Text.Megaparsec.Error (ParseErrorBundle)
 
 parseTag :: RefName -> Either (ParseErrorBundle Text Void) TagRef
diff --git a/src/Shift/Processing.hs b/src/Shift/Processing.hs
index 2a30f625e42cc93bd1b0a24c575c387c6990c825..b15ed1b19bace9e36703ab4d49570d6f78b26fc9 100644
--- a/src/Shift/Processing.hs
+++ b/src/Shift/Processing.hs
@@ -31,7 +31,7 @@ import Shift.Types
     crStyles,
     crTests,
   )
-import Text.Megaparsec (ParseError, ParseErrorBundle, runParser)
+import Text.Megaparsec (ParseErrorBundle, runParser)
 
 parseCommit :: (Ref hash, Commit hash) -> Either (ParseErrorBundle Text Void) (ParsedGroup hash)
 parseCommit (r, c) = do
diff --git a/src/Shift/Rendering.hs b/src/Shift/Rendering.hs
index 1c1737add0e37d7c9c2879dc39435062b1f08caa..d65f8dc002b41882c8671e8f3363006385e5f8a0 100644
--- a/src/Shift/Rendering.hs
+++ b/src/Shift/Rendering.hs
@@ -6,18 +6,16 @@ module Shift.Rendering where
 import CMarkGFM as M
 import Control.Lens ((^.))
 import Control.Monad.Catch (MonadThrow)
-import Control.Monad.IO.Class (MonadIO, liftIO)
+import Control.Monad.IO.Class (MonadIO)
 import Control.Monad.State (MonadState)
-import Control.Monad.Trans.Writer (WriterT (runWriterT), execWriterT, runWriter)
+import Control.Monad.Trans.Writer (execWriterT)
 import Control.Monad.Trans.Writer.Lazy (tell)
 import Data.Git (Commit, Ref, RefName (refNameRaw), commitAuthor)
 import Data.List (sortOn)
 import Data.Maybe (catMaybes)
-import Data.Monoid ((<>))
 import Data.String.Conversions (cs)
 import Data.Text (Text)
 import qualified Data.Text as T (pack, take)
-import qualified Data.Text.IO as TIO (putStr, putStrLn)
 import Data.Versions (prettyV)
 import Shift.Types
   ( ChangeReport,
diff --git a/src/Shift/Server.hs b/src/Shift/Server.hs
index 7efd445d3e27faf6f3127f04e8f33afc6cddbb3b..821fc910380e0687dbe33bf56a34dcca1724cc2d 100644
--- a/src/Shift/Server.hs
+++ b/src/Shift/Server.hs
@@ -3,7 +3,7 @@
 
 module Shift.Server (runServer) where
 
-import CMarkGFM (commonmarkToHtml, nodeToCommonmark, nodeToHtml)
+import CMarkGFM (nodeToCommonmark, nodeToHtml)
 import Control.Monad.IO.Class (MonadIO (liftIO))
 import Data.Maybe (fromMaybe)
 import Data.Text.Lazy (fromChunks)
diff --git a/src/Shift/Types.hs b/src/Shift/Types.hs
index 9c8cfc844baf3823e9b2080df254d5064512826b..021d620c450ce750cb0a0e2aceb20950285a97eb 100644
--- a/src/Shift/Types.hs
+++ b/src/Shift/Types.hs
@@ -35,7 +35,7 @@ import Data.String.Conversions (cs)
 import Data.Text (Text)
 import qualified Data.Vector as V
 import Data.Versions (Versioning)
-import GitHub (Request, URL (URL), executeRequestWithMgr, getUrl)
+import GitHub (Request, executeRequestWithMgr, getUrl)
 import GitHub.Auth (Auth)
 import GitHub.Data.Definitions (simpleUserLogin, simpleUserUrl)
 import GitHub.Data.GitData (commitAuthor)