diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+# 0.2.4
+
+* Don't do cloning unnecessarily [#7](https://github.com/psibi/tldr-hs/issues/7)
+* Fix Paths_tldr warning from cabal
+
 # 0.2.3
 
 * Fix coloring bug under bash during some circumstances [#6](https://github.com/psibi/tldr-hs/pull/6/files)
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -1,4 +1,5 @@
 {-#LANGUAGE CPP#-}
+{-#LANGUAGE ScopedTypeVariables#-}
 
 module Main where
 
@@ -97,14 +98,17 @@
 
 main :: IO ()
 main = do
-  initializeTldrPages
   args <- getArgs
   case execParserPure (prefs noBacktrack) tldrParserInfo args of
     Failure _
-      | null args -> withArgs ["--help"] (execParser tldrParserInfo) >> return ()
+      | null args -> handleParseResult . Failure $ parserFailure defaultPrefs tldrParserInfo ShowHelpText mempty
       | args == ["--update"] -> updateTldrPages
-    parseResult -> do
-      opts <- handleParseResult parseResult
-      let page = pageName opts
-      fname <- getPagePath page
-      maybe (putStrLn ("No tldr entry for " <> page)) renderPage fname
+    (parseResult :: ParserResult TldrOpts) -> do
+         case args of
+           ["--help"] -> handleParseResult . Failure $ parserFailure defaultPrefs tldrParserInfo ShowHelpText mempty
+           _ -> do
+             initializeTldrPages
+             opts <- handleParseResult parseResult
+             let page = pageName opts
+             fname <- getPagePath page
+             maybe (putStrLn ("No tldr entry for " <> page)) renderPage fname
diff --git a/tldr.cabal b/tldr.cabal
--- a/tldr.cabal
+++ b/tldr.cabal
@@ -1,5 +1,5 @@
 name:                tldr
-version:             0.2.3
+version:             0.2.4
 synopsis:            Haskell tldr client
 description:         Haskell tldr client with support for updating and viewing tldr pages.
 homepage:            https://github.com/psibi/tldr-hs#readme
@@ -26,6 +26,7 @@
 executable tldr
   hs-source-dirs:      app
   main-is:             Main.hs
+  other-modules:       Paths_tldr
   ghc-options:         -threaded -rtsopts -with-rtsopts=-N
   build-depends:       base
                      , tldr
