diff --git a/ats-pkg.cabal b/ats-pkg.cabal
--- a/ats-pkg.cabal
+++ b/ats-pkg.cabal
@@ -1,5 +1,5 @@
 name:                ats-pkg
-version:             2.0.0.8
+version:             2.0.0.9
 synopsis:            Package manager for ATS
 description:         A collection of scripts to make building ATS projects easy.
 homepage:            https://github.com/vmchale/ats-pkg#readme
diff --git a/src/Language/ATS/Package/Build.hs b/src/Language/ATS/Package/Build.hs
--- a/src/Language/ATS/Package/Build.hs
+++ b/src/Language/ATS/Package/Build.hs
@@ -112,16 +112,16 @@
                        , shakeProgress = progressSimple
                        }
 
+cleanConfig :: (MonadIO m) => [String] -> m Pkg
+cleanConfig ["clean"] = pure undefined
+cleanConfig _         = getConfig Nothing
+
 -- TODO verbosity & coloring?
 mkPkg :: [IO ()] -> [String] -> IO ()
 mkPkg setup rs = shake options $
     want rs >>
-    mkTest >>
     mkClean >>
-    mkManpage >>
-    mkInstall >>
-    mkConfig >>
-    (pkgToAction setup rs =<< getConfig Nothing)
+    (pkgToAction setup rs =<< cleanConfig rs)
 
 asTuple :: TargetPair -> (Text, Text)
 asTuple (TargetPair s t) = (s, t)
@@ -141,19 +141,26 @@
         Nothing  -> want bins
 
 pkgToAction :: [IO ()] -> [String] -> Pkg -> Rules ()
-pkgToAction setup rs (Pkg bs ts mt v v' ds cds cc cf as cdir) = do
+pkgToAction setup rs ~(Pkg bs ts mt v v' ds cds cc cf as cdir) =
 
     unless (rs == ["clean"]) $ do
+
         want [".atspkg/config"]
+
         let cdps = if any gc bs then libcAtomicOps : libcGC (Version [7,6,4]) : cds else cds
         liftIO $ fetchDeps False setup ds cdps (null as) >> stopGlobalPool
 
-    mapM_ g (bs ++ ts)
-    let bins = TL.unpack . target <$> bs
+        let bins = TL.unpack . target <$> bs
+        setTargets rs bins mt
 
-    cDeps
+        cDeps
 
-    setTargets rs bins mt
+        mapM_ g (bs ++ ts)
+
+        mkTest
+        mkManpage
+        mkInstall
+        mkConfig
 
     where g (Bin s t ls hs' atg gc') =
             atsBin
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -6,7 +6,7 @@
   - shake-ext-1.5.0.0
   - shake-ats-0.3.0.6
   - composition-prelude-1.1.0.2
-  - language-ats-0.1.1.9
+  - language-ats-0.1.1.11
   - cli-setup-0.1.0.3
   - hs2ats-0.2.0.0
 flags:
