diff --git a/implicit-hie-cradle.cabal b/implicit-hie-cradle.cabal
--- a/implicit-hie-cradle.cabal
+++ b/implicit-hie-cradle.cabal
@@ -7,7 +7,7 @@
 -- hash: 5c092074b2128d5593e67e2ace6e214ab27a89b73a7a71a71b212a4b34868b86
 
 name:               implicit-hie-cradle
-version:            0.4.0.0
+version:            0.4.0.1
 description:        Auto generate a stack or cabal multi component cradles
 category:           Development, Tools, Hie, HLS
 synopsis:           Auto generate hie-bios cradles
diff --git a/src/Hie/Implicit/Cradle.hs b/src/Hie/Implicit/Cradle.hs
--- a/src/Hie/Implicit/Cradle.hs
+++ b/src/Hie/Implicit/Cradle.hs
@@ -66,7 +66,7 @@
       c <- cn <$> readPkgs cc gp p
       pure (c, p)
     cabal :: FilePath -> MaybeT IO (CradleType a, FilePath)
-    cabal = ifM ((>= "3.4") <$> liftIO cabalVersion) (pure (Cabal mempty, mempty)) . build (CabalMulti mempty) cabalComponent' cabalPkgs
+    cabal = ifM ((>= "3.4.0.0") <$> liftIO cabalVersion) (pure (Cabal mempty, mempty)) . build (CabalMulti mempty) cabalComponent' cabalPkgs
     stack :: FilePath -> MaybeT IO (CradleType a, FilePath)
     stack = build (StackMulti mempty) stackComponent' stackYamlPkgs
     components f (Package n cs) = map (f n) cs
@@ -161,4 +161,4 @@
 biosWorkDir = findFileUpwards (".hie-bios" ==)
 
 cabalVersion :: IO String
-cabalVersion = (!! 2) . words <$> readProcess "cabal" ["--version"] ""
+cabalVersion = head . words <$> readProcess "cabal" ["--numeric-version"] ""
