diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -2,10 +2,29 @@
 
 import           StackRunAuto
 import           System.Environment (getArgs)
+import           System.IO
 
 main :: IO ()
 main = do
     args <- getArgs
-    case args of
+    hSetBuffering stdout LineBuffering
+    hSetBuffering stderr LineBuffering
+
+    let (extras, args') = getExtras args
+
+    case args' of
         [] -> error "Usage: stack-run-auto <file>"
-        (fname:_) -> run (Options fname)
+        ("--help":_) -> hPutStrLn stderr usage
+        (fname:_) -> run (Options fname extras)
+  where
+    usage = unlines [ "Usage: stack-run-auto [--extra <pkg>...] <file>"
+                    , ""
+                    , "    --extra <pkg>   Adds an extra package that couldn't be resolved"
+                    , ""
+                    ]
+
+getExtras :: [String] -> ([String], [String])
+getExtras args = go ([], args)
+  where
+    go (extras, "--extra":pkg:args') = go (pkg:extras, args')
+    go i = i
diff --git a/app/ModulePackage.hs b/app/ModulePackage.hs
--- a/app/ModulePackage.hs
+++ b/app/ModulePackage.hs
@@ -1,11 +1,15 @@
 module Main where
 
 import           Control.Concurrent.Async
-import           Control.Monad            (void, (>=>))
+import           Control.Monad            (forM_)
+import           Data.Maybe               (catMaybes)
 import           StackRunAuto
 import           System.Environment
+import           System.IO
 
 main :: IO ()
 main = do
     args <- getArgs
-    void $ mapConcurrently (modulePackage >=> putStrLn) args
+    hSetBuffering stdout LineBuffering
+    pkgs <- mapConcurrently modulePackage args
+    forM_ (catMaybes pkgs) putStrLn
diff --git a/src/StackRunAuto.hs b/src/StackRunAuto.hs
--- a/src/StackRunAuto.hs
+++ b/src/StackRunAuto.hs
@@ -4,9 +4,9 @@
 
 import           Control.Concurrent.Async
 import           Control.Lens
-import           Control.Monad                   (forM_, void)
 import           Data.Aeson.Lens
 import           Data.List.Utils                 (uniq)
+import           Data.Maybe                      (catMaybes)
 import           Data.Monoid
 import           Data.String.Utils
 import qualified Data.Text                       as Text (pack, unpack)
@@ -16,19 +16,21 @@
 import           Network.Wreq                    (defaults, getWith, param,
                                                   responseBody)
 import           System.Exit
+import           System.IO                       (hPutStrLn, stderr)
 import           System.Process
-import           System.IO (hPutStrLn, stderr)
 
 data Options = Options { optsFileName :: FilePath
+                       , optsExtras   :: [String]
                        }
 
 run :: Options -> IO ()
 run Options{..} = do
     modules <- fileModulesVerbose optsFileName
-    packages <- mapConcurrently modulePackageVerbose modules
+    packages <- catMaybes <$> mapConcurrently modulePackageVerbose modules
     allPackages <- mapConcurrently extractDependenciesVerbose (uniq packages)
     let argList = map ("--package " ++)
-                  (filter isValidPackage (uniq (packages ++ concat allPackages)))
+                  (filter isValidPackage
+                   (uniq (packages ++ concat allPackages ++ optsExtras)))
         cmd = "stack runghc " ++ optsFileName ++ " " ++ join " " argList
     putStrLn cmd
     ph <- runCommand cmd
@@ -56,12 +58,15 @@
     putStrLn $ "Finding dependencies for " ++ pkg ++ "..."
     extractDependencies pkg
 
-modulePackageVerbose :: String -> IO String
+modulePackageVerbose :: String -> IO (Maybe String)
+modulePackageVerbose "" = do
+    putStrLn "Skipping parse error (empty string)..."
+    return Nothing
 modulePackageVerbose m = timed ("---> Found package for " ++ m) $ do
     putStrLn $ "Finding package for " ++ m ++ "..."
     modulePackage m
 
-modulePackage :: String -> IO String
+modulePackage :: String -> IO (Maybe String)
 modulePackage m = do
     let url = "http://hayoo.fh-wedel.de/json"
         opts = defaults & param "query" .~ ["module:" <> Text.pack m]
@@ -78,6 +83,6 @@
                 else error $ "Couldn't resolve package for " ++ m
         (p:_) -> do
             let pkg = Text.unpack (p ^. key "resultPackage" . _String)
-            return pkg
+            return (Just pkg)
   where
     isModuleResult r = r ^. key "resultType" . _String == "module"
diff --git a/stack-run-auto.cabal b/stack-run-auto.cabal
--- a/stack-run-auto.cabal
+++ b/stack-run-auto.cabal
@@ -1,5 +1,5 @@
 name:                stack-run-auto
-version:             0.1.1.1
+version:             0.1.1.2
 synopsis:            Initial project template from stack
 description:         Please see README.md
 homepage:            http://github.com/yamadapc/stack-run-auto#readme
