diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+## ALGA 0.2.1
+
+* Fixed issues with `directory` package. Please use `directory-1.2.3.0` or
+  newer. `stack.yaml` file is updated accordingly, if you clone the
+  repository.
+
 ## ALGA 0.2.0
 
 * Use the `path-io` library.
diff --git a/alga.cabal b/alga.cabal
--- a/alga.cabal
+++ b/alga.cabal
@@ -17,7 +17,7 @@
 -- with this program. If not, see <http://www.gnu.org/licenses/>.
 
 name:                 alga
-version:              0.2.0
+version:              0.2.1
 synopsis:             Algorithmic automation for various DAWs
 description:
 
@@ -97,7 +97,7 @@
   else
     ghc-options:      -O2 -Wall
   ghc-prof-options:   -O2 -Wall -prof -fprof-cafs -rtsopts
-  build-depends:      alga                   >= 0.2.0
+  build-depends:      alga                   >= 0.2.1
                     , aeson                  >= 0.7
                     , base                   >= 4.8 && < 5
                     , containers             >= 0.5.5.1
@@ -152,7 +152,7 @@
     ghc-options:      -O2 -Wall
   default-language:   Haskell2010
   build-depends:      QuickCheck                 >= 2.4 && < 3
-                    , alga                       >= 0.2.0
+                    , alga                       >= 0.2.1
                     , base                       >= 4.8 && < 5
                     , containers                 >= 0.5.5.1
                     , hxt                        >= 9.3.1.15
diff --git a/src/Alga/Interaction/Commands.hs b/src/Alga/Interaction/Commands.hs
--- a/src/Alga/Interaction/Commands.hs
+++ b/src/Alga/Interaction/Commands.hs
@@ -347,12 +347,12 @@
   => FilePath          -- ^ Given file name
   -> String            -- ^ Extension
   -> m (Path Abs File) -- ^ Absolute path to output file
-output given' ext = do
-  given  <- resolveFile' given'
-  actual <- fromAbsFile <$> gets stSrcFile
-  a      <- parseAbsFile $
-    if null ext then actual else FP.replaceExtension actual ext
-  return (if null given' then a else given)
+output given' ext =
+  if null given'
+    then do
+      actual <- fromAbsFile <$> gets stSrcFile
+      parseAbsFile (if null ext then actual else FP.replaceExtension actual ext)
+    else resolveFile' given'
 
 -- | Change current file name.
 
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -98,14 +98,15 @@
 
 runAlga' :: Alga a -> IO ()
 runAlga' e = do
-  mconfig <- forgivingAbsence (resolveFile' ".alga.yaml")
-  c <- case mconfig of
-    Nothing -> return def
-    Just file -> do
-      econfig <- parseAlgaConfig file
+  configFile <- resolveFile' ".alga.yaml"
+  configExists <- doesFileExist configFile
+  c <- if configExists
+    then do
+      econfig <- parseAlgaConfig configFile
       case econfig of
         Left msg -> liftIO (putStrLn msg) >> return def
         Right val -> return val
+    else return def
   srcFile <- makeAbsolute (configSrcFile c)
   void $ runAlga e
     AlgaSt { stBackend = toBackend (configBackend c)
