diff --git a/git-vogue.cabal b/git-vogue.cabal
--- a/git-vogue.cabal
+++ b/git-vogue.cabal
@@ -1,12 +1,12 @@
 name:                git-vogue
-version:             0.2.0.1
+version:             0.2.1.0
 synopsis:            A framework for pre-commit checks.
 description:         Make your Haskell git repositories fashionable.
-homepage:            https://github.com/anchor/git-vogue
+homepage:            https://github.com/oswynb/git-vogue
 license:             BSD3
 license-file:        LICENSE
 author:              Anchor Engineering <engineering@anchor.com.au>
-maintainer:          Anchor Engineering <engineering@anchor.com.au>
+maintainer:          Oswyn Brent <oztastic703@gmail.com>
 copyright:           (c) 2015 Anchor Systems, Pty Ltd and Others
 category:            Development
 build-type:          Custom
@@ -16,7 +16,7 @@
 
 source-repository HEAD
   type: git
-  location: https://github.com/anchor/git-vogue
+  location: https://github.com/oswynb/git-vogue
 
 flag gpl
     default: True
@@ -32,33 +32,25 @@
                        Git.Vogue.PluginCommon
   other-modules:       Paths_git_vogue
   build-depends:       base >=4.6 && <5
+                     , containers
                      , directory
                      , filepath
-                     , process
-                     , containers
                      , formatting
+                     , optparse-applicative >= 0.11
+                     , process
                      , split
                      , text
-                     , optparse-applicative >= 0.11
                      , transformers
-                     , mtl
                      , unix
-                       -- To fix depedencies
-                     , hlint           >= 1.9.13 && < 1.10
-                     , stylish-haskell >= 0.5.11 && < 0.5.12
-                     , ghc-mod         >= 5.2    && < 5.3
 
 executable git-vogue
   default-language:    Haskell2010
   hs-source-dirs:      src
   main-is:             git-vogue.hs
   build-depends:       base
-                     , filepath
-                     , directory
-                     , text
                      , git-vogue
                      , optparse-applicative
-                     , split
+                     , text
 
 executable git-vogue-cabal
   default-language:    Haskell2010
@@ -66,26 +58,20 @@
   main-is:             git-vogue-cabal.hs
   build-depends:       base
                      , Cabal
-                     , containers
                      , git-vogue
-                     , directory
-                     , filepath
-                     , process
 
 executable git-vogue-hlint
   default-language:    Haskell2010
   hs-source-dirs:      src
   main-is:             git-vogue-hlint.hs
   build-depends:       base
-                     , directory
-                     , filepath
-                     , hlint
-                     , cpphs
                      , bifunctors
-                     , haskell-src-exts
+                     , cpphs
+                     , directory
                      , git-vogue
+                     , haskell-src-exts
+                     , hlint           >= 1.9.13 && < 1.10
                      , hscolour
-                     , process
   if !flag(gpl)
         cpp-options: -DGPL_SCARES_ME
 
@@ -95,26 +81,17 @@
   main-is:             git-vogue-stylish.hs
   build-depends:       base
                      , Diff
-                     , directory
-                     , filepath
                      , git-vogue
-                     , process
                      , strict
-                     , stylish-haskell
+                     , stylish-haskell >= 0.5.11 && < 0.6
 
 executable git-vogue-ghc-mod
   default-language:    Haskell2010
   hs-source-dirs:      src
   main-is:             git-vogue-ghc-mod.hs
   build-depends:       base
-                     , Diff
-                     , directory
-                     , containers
-                     , filepath
+                     , ghc-mod         >= 5.2    && < 5.5
                      , git-vogue
-                     , process
-                     , strict
-                     , ghc-mod
 
 test-suite unit
   type:                exitcode-stdio-1.0
@@ -122,14 +99,12 @@
   hs-source-dirs:      tests
   main-is:             unit.hs
   build-depends:       base
+                     , containers
                      , directory
                      , filepath
-                     , containers
                      , git-vogue
                      , hspec
-                     , temporary
                      , process
-                     , transformers
-                     , unix
+                     , temporary
 
 -- vim: set tabstop=21 expandtab:
diff --git a/lib/Git/Vogue.hs b/lib/Git/Vogue.hs
--- a/lib/Git/Vogue.hs
+++ b/lib/Git/Vogue.hs
@@ -104,7 +104,6 @@
 
 
     go CmdRunFix = do
-        cd
         (check_fs, all_fs, plugins) <- things
         rs <- for plugins $ \p -> do
             r <- runCheck p check_fs all_fs
@@ -118,6 +117,7 @@
         exitWithWorst (catMaybes rs)
 
     things = do
+        cd
         check_fs <- getFiles search_mode
         when (null check_fs) (success "Vacuous success - Nothing to check")
 
diff --git a/lib/Git/Vogue/PluginDiscoverer/Libexec.hs b/lib/Git/Vogue/PluginDiscoverer/Libexec.hs
--- a/lib/Git/Vogue/PluginDiscoverer/Libexec.hs
+++ b/lib/Git/Vogue/PluginDiscoverer/Libexec.hs
@@ -56,10 +56,21 @@
     => FilePath
     -> m [Plugin m]
 discover libexec_dir = do
+    let libexec_plugins = libexec_dir </> "git-vogue"
+
+    -- Check if libexec dir does not exist, and notify user that this may be
+    -- caused by cabal being dumb.
+    is_dir <- liftIO $ doesDirectoryExist libexec_plugins
+    unless is_dir . liftIO .
+        putStrLn $ "Could not find libexec plugins: " <> libexec_plugins
+                 <> "\nThis could be caused by installing with a buggy cabal, \
+                    \see:\n\thttps://github.com/anchor/git-vogue/issues/80"
+
     -- Use the environmental variable and $libexec/git-vogue/ directories as
     -- the search path.
     path <- fromMaybe "" <$> liftIO (lookupEnv "GIT_VOGUE_PATH")
-    let directories = splitOn ":" path <> [libexec_dir </> "git-vogue"]
+
+    let directories = splitOn ":" path <> [libexec_plugins]
 
     -- Disable plugins by the name that they present, so that the user does not
     -- need to know how the backend works.
diff --git a/src/git-vogue-cabal.hs b/src/git-vogue-cabal.hs
--- a/src/git-vogue-cabal.hs
+++ b/src/git-vogue-cabal.hs
@@ -68,8 +68,8 @@
     unless (null distInexusable) $ do
         outputBad "The following errors will cause portability problems on other environments:"
         printCheckMessages distInexusable
-    let isDistError (PackageDistSuspicious {}) = False
-        isDistError _                          = True
+    let isDistError PackageDistSuspicious {} = False
+        isDistError _                        = True
         errors = filter isDistError packageChecks
     unless (null errors) $
         outputBad "Hackage would reject this package."
diff --git a/src/git-vogue-ghc-mod.hs b/src/git-vogue-ghc-mod.hs
--- a/src/git-vogue-ghc-mod.hs
+++ b/src/git-vogue-ghc-mod.hs
@@ -14,13 +14,14 @@
 import           Control.Monad
 import           Data.Char
 import           Data.Foldable
-import           Data.List               hiding (and, notElem)
+import           Data.List                     hiding (and, notElem)
 import           Data.Maybe
 import           Data.Monoid
 import           Data.Traversable
 import           Git.Vogue.PluginCommon
 import           Language.Haskell.GhcMod
-import           Prelude                 hiding (and, notElem)
+import           Language.Haskell.GhcMod.Monad
+import           Prelude                       hiding (and, notElem)
 import           System.Exit
 
 main :: IO ()
@@ -60,6 +61,8 @@
         s <> "\n\tSuggestion: cabal configure --enable-tests\n"
     | "bench" `isInfixOf` fmap toLower s && "hidden package" `isInfixOf` s =
         s <> "\n\tSuggestion: cabal configure --enable-benchmarks\n"
+    | "hGetContents: invalid argument" `isInfixOf` s =
+        s <> "\n\tSuggestion: use cabal < 1.22\n"
     | otherwise = s
 
 -- | ghc-mod check all of the given files from the current directory
@@ -69,7 +72,7 @@
 ghcModCheck files = do
     -- We can't actually check all at once, or ghc-mod gets confused, so we
     -- traverse
-    (r,_) <- runGhcModT defaultOptions (traverse (check . pure) files)
+    (r,_) <- runGmOutT defaultOptions $ runGhcModT defaultOptions (traverse (check . pure) files)
 
     -- Seriously guys? Eithers within eithers?
     warn_errs <- case r of
