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:             1.2.0.6
+version:             1.2.0.7
 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/Exec.hs b/src/Language/ATS/Package/Exec.hs
--- a/src/Language/ATS/Package/Exec.hs
+++ b/src/Language/ATS/Package/Exec.hs
@@ -18,9 +18,7 @@
 import           Language.ATS.Package.Type       hiding (test, version)
 import           Options.Applicative             hiding (auto)
 import           Paths_ats_pkg
-import           System.Directory                (doesFileExist, findFile,
-                                                  listDirectory,
-                                                  withCurrentDirectory)
+import           System.Directory                (doesFileExist, findFile, listDirectory, withCurrentDirectory)
 import           System.Environment              (getEnv)
 import           System.IO.Temp                  (withSystemTempDirectory)
 
@@ -81,10 +79,10 @@
 -- https://github.com/vmchale/polyglot/archive/0.3.27.tar.gz
 run :: Command -> IO ()
 run (Fetch u) = fetchPkg u
+run Clean = mkPkg ["clean"]
 run c = bool (buildAll "./atspkg.dhall" >> mkPkg rs) (mkPkg rs) =<< check "./atspkg.dhall"
     where rs = g c
           g Install    = ["install"]
-          g Clean      = ["clean"]
           g (Build ts) = ts
           g Test       = ["test"]
           g _          = undefined
diff --git a/src/Language/ATS/Package/Type.hs b/src/Language/ATS/Package/Type.hs
--- a/src/Language/ATS/Package/Type.hs
+++ b/src/Language/ATS/Package/Type.hs
@@ -20,8 +20,7 @@
 import           Development.Shake.Man
 import           Dhall                           hiding (bool)
 import           Language.ATS.Package.Dependency
-import           System.Directory                (findExecutable,
-                                                  getCurrentDirectory)
+import           System.Directory                (findExecutable, getCurrentDirectory)
 
 options :: ShakeOptions
 options = shakeOptions { shakeFiles = ".atspkg"
@@ -94,7 +93,8 @@
 
 pkgToAction :: [String] -> Pkg -> Rules ()
 pkgToAction rs (Pkg bs ts mt v v' ds) = do
-    liftIO $ fetchDeps False ds
+    unless (rs == ["clean"]) $
+        liftIO $ fetchDeps False ds
     action (need ["atspkg.dhall"])
     mapM_ g (bs ++ ts)
     let bins = TL.unpack . target <$> bs
