diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for horizon-gen-nix
 
+## v0.3.1
+
+* Remove broken --force flag.
+
 ## v0.3.0
 
 * Support horizon-spec-0.3.0
diff --git a/horizon-gen-nix.cabal b/horizon-gen-nix.cabal
--- a/horizon-gen-nix.cabal
+++ b/horizon-gen-nix.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               horizon-gen-nix
-version:            0.3.0.1
+version:            0.3.1.0
 synopsis:           Generate nix expressions from horizon-spec definitions
 description:        Generate nix expressions from horizon-spec definitions
 category:           Package Management, Nix
@@ -52,7 +52,7 @@
     , directory
     , distribution-nixpkgs
     , either
-    , horizon-spec          >=0.3 && <0.4
+    , horizon-spec          >=0.3  && <0.4
     , language-nix
     , lens
     , optparse-applicative
diff --git a/src/Horizon/Gen/Nix.hs b/src/Horizon/Gen/Nix.hs
--- a/src/Horizon/Gen/Nix.hs
+++ b/src/Horizon/Gen/Nix.hs
@@ -7,14 +7,12 @@
   ) where
 
 import           Dhall                                   (auto, inputFile)
-import           Horizon.Gen.Nix.Options                 (Force,
-                                                          HorizonCommand (MakePackageSetCommand, OverlayCommand),
+import           Horizon.Gen.Nix.Options                 (HorizonCommand (MakePackageSetCommand, OverlayCommand),
                                                           HorizonOptions (MkHorizonOptions),
                                                           MakePackageSetOptions,
                                                           OverlayOptions,
                                                           fromInputFile,
                                                           horizonGenNixOptsInfo,
-                                                          optForce,
                                                           optHorizonCommand,
                                                           optInputFile,
                                                           optOverlayFile,
@@ -31,14 +29,14 @@
 import           Path.Dhall                              ()
 
 
-makeMakePackageSet :: Force -> MakePackageSetOptions -> PackagesDirectory -> PackageSet -> IO ()
-makeMakePackageSet f opts d xs = do
-  writeHaskellPackages d f (packages xs)
+makeMakePackageSet :: MakePackageSetOptions -> PackagesDirectory -> PackageSet -> IO ()
+makeMakePackageSet opts d xs = do
+  writeHaskellPackages d (packages xs)
   writeMakePackageSet d (optPackageSetFile opts) xs
 
-makeOverlay :: Force -> OverlayOptions -> PackagesDirectory -> Overlay -> IO ()
-makeOverlay f opts d xs = do
-  writeHaskellPackages d f (fromOverlay xs)
+makeOverlay :: OverlayOptions -> PackagesDirectory -> Overlay -> IO ()
+makeOverlay opts d xs = do
+  writeHaskellPackages d (fromOverlay xs)
   writeOverlay d (optOverlayFile opts) xs
 
 horizonGenNix :: HorizonOptions -> IO ()
@@ -47,10 +45,10 @@
   in case optHorizonCommand of
     MakePackageSetCommand opts -> do
       x <- inputFile @PackageSet auto fp
-      makeMakePackageSet optForce opts optPackagesDirectory x
+      makeMakePackageSet opts optPackagesDirectory x
     OverlayCommand opts -> do
       x <- inputFile @Overlay auto fp
-      makeOverlay optForce opts optPackagesDirectory x
+      makeOverlay opts optPackagesDirectory x
 
 main :: IO ()
 main = do
diff --git a/src/Horizon/Gen/Nix/Options.hs b/src/Horizon/Gen/Nix/Options.hs
--- a/src/Horizon/Gen/Nix/Options.hs
+++ b/src/Horizon/Gen/Nix/Options.hs
@@ -4,7 +4,6 @@
 module Horizon.Gen.Nix.Options
   ( horizonGenNixOpts
   , horizonGenNixOptsInfo
-  , Force(..)
   , InputFile (..)
   , HorizonCommand (..)
   , HorizonOptions (..)
@@ -24,11 +23,11 @@
 import           Horizon.Gen.Nix.Types.PackageSetFile    (PackageSetFile (MkPackageSetFile))
 import           Options.Applicative                     (Parser, ParserInfo,
                                                           ReadM, command,
-                                                          eitherReader, flag',
-                                                          help, helper, info,
-                                                          long, metavar, option,
-                                                          progDesc, short,
-                                                          subparser, value)
+                                                          eitherReader, help,
+                                                          helper, info, long,
+                                                          metavar, option,
+                                                          progDesc, subparser,
+                                                          value)
 import           Path                                    (File, Path, Rel,
                                                           mkRelDir, mkRelFile,
                                                           parseRelDir,
@@ -141,20 +140,9 @@
   OverlayCommand :: OverlayOptions -> HorizonCommand
   deriving stock (Eq, Show)
 
-type Force :: Type
-newtype Force = MkForce Bool
-  deriving stock (Eq, Show)
-
-forceOption :: Parser Force
-forceOption = flag' (MkForce True)
-  (  long "force"
-  <> short 'f'
-  <> help "forcibly regenerate the packages")
-
 type HorizonOptions :: Type
 data HorizonOptions where
-  MkHorizonOptions :: { optForce :: Force
-                      , optInputFile :: InputFile
+  MkHorizonOptions :: { optInputFile :: InputFile
                       , optPackagesDirectory :: PackagesDirectory
                       , optHorizonCommand :: HorizonCommand} -> HorizonOptions
   deriving stock (Eq, Show)
@@ -174,8 +162,7 @@
 horizonGenNixOpts :: Parser HorizonOptions
 horizonGenNixOpts =
       MkHorizonOptions
-  <$> forceOption
-  <*> inputFileOption
+  <$> inputFileOption
   <*> packagesDirectoryOption
   <*> horizonCommandOpts
 
diff --git a/src/Horizon/Gen/Nix/Writers.hs b/src/Horizon/Gen/Nix/Writers.hs
--- a/src/Horizon/Gen/Nix/Writers.hs
+++ b/src/Horizon/Gen/Nix/Writers.hs
@@ -9,12 +9,11 @@
  ) where
 
 import           Cabal2nix                               (Options, cabal2nix')
-import           Control.Monad                           (forM_, when, (>=>))
+import           Control.Monad                           (forM_, unless, (>=>))
 import           Data.Map                                (keys, toList)
 import qualified Data.Text                               as T
 import           Distribution.Nixpkgs.Haskell.Derivation (Derivation)
 import           Horizon.Gen.Nix.Cabal2Nix.Options       (haskellPackageToCabal2NixOptions)
-import           Horizon.Gen.Nix.Options                 (Force (MkForce))
 import           Horizon.Gen.Nix.Pretty                  (prettyDerivation)
 import           Horizon.Gen.Nix.Types.OverlayFile       (OverlayFile (MkOverlayFile))
 import           Horizon.Gen.Nix.Types.PackagesDirectory (PackagesDirectory (MkPackagesDirectory))
@@ -67,14 +66,14 @@
 writeDerivation :: Path b File -> Derivation -> IO ()
 writeDerivation f = writeFile (toFilePath f) . show . prettyDerivation
 
-writeHaskellPackage :: PackagesDirectory -> Force -> Name -> HaskellPackage -> IO ()
-writeHaskellPackage (MkPackagesDirectory d) (MkForce b) (MkName f) y = do
+writeHaskellPackage :: PackagesDirectory -> Name -> HaskellPackage -> IO ()
+writeHaskellPackage (MkPackagesDirectory d) (MkName f) y = do
   let o = haskellPackageToCabal2NixOptions y
   createDirectoryIfMissing True (toFilePath d)
   f' <- parseRelFile  $ T.unpack (f <> ".nix")
   let j = d </> f'
-  q <- doesFileExist $ toFilePath j
-  when (b || not q) $ writeCabal2Nix j o
+  q  <- doesFileExist $ toFilePath j
+  unless q $ writeCabal2Nix j o
 
-writeHaskellPackages :: PackagesDirectory -> Force -> PackageList -> IO ()
-writeHaskellPackages f d = mapM_ (uncurry $ writeHaskellPackage f d) . toList . fromPackageList
+writeHaskellPackages :: PackagesDirectory -> PackageList -> IO ()
+writeHaskellPackages d = mapM_ (uncurry $ writeHaskellPackage d) . toList . fromPackageList
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -5,13 +5,12 @@
 import           Control.Exception       (bracket_)
 import           Control.Monad           (forM_)
 import           Horizon.Gen.Nix         (horizonGenNix)
-import           Horizon.Gen.Nix.Options (Force (MkForce),
-                                          HorizonCommand (MakePackageSetCommand, OverlayCommand),
+import           Horizon.Gen.Nix.Options (HorizonCommand (MakePackageSetCommand, OverlayCommand),
                                           HorizonOptions (MkHorizonOptions),
                                           InputFile (MkInputFile),
                                           defaultMakePackageSetOptions,
                                           defaultOverlayOptions,
-                                          defaultPackagesDirectory, optForce,
+                                          defaultPackagesDirectory,
                                           optHorizonCommand, optInputFile,
                                           optPackagesDirectory)
 import           Path                    (File, Path, Rel, mkRelFile,
@@ -45,7 +44,6 @@
     fp <- parseRelFile $ "test/data/" ++ s ++ "/input.dhall"
     let opts = MkHorizonOptions
                  { optHorizonCommand = cmd
-                 , optForce = MkForce False
                  , optPackagesDirectory = defaultPackagesDirectory
                  , optInputFile = MkInputFile fp
                  }
