diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for pantry
 
+## v0.5.2
+
+* Fall back to BSD tar when type cannot be detected [#33](https://github.com/commercialhaskell/pantry/issues/33)
+
 ## v0.5.1.5
 * Switch back to hackage.haskell.org [#30](https://github.com/commercialhaskell/pantry/pull/30)
 * Pass through basic auth credentials specified in URLs [#32](https://github.com/commercialhaskell/pantry/pull/32)
diff --git a/pantry.cabal b/pantry.cabal
--- a/pantry.cabal
+++ b/pantry.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 5145c942948b02a8a3a0fa1c11758a27a8691c292147b48e98d1f07becc053b7
+-- hash: fbb4a7b5f91e118dcea35ad7791c78f827ec0a9fb6d2474e391896262d81f826
 
 name:           pantry
-version:        0.5.1.5
+version:        0.5.2
 synopsis:       Content addressable Haskell package management
 description:    Please see the README on Github at <https://github.com/commercialhaskell/pantry#readme>
 category:       Development
diff --git a/src/Pantry/Repo.hs b/src/Pantry/Repo.hs
--- a/src/Pantry/Repo.hs
+++ b/src/Pantry/Repo.hs
@@ -31,15 +31,9 @@
 
 getTarType :: (HasProcessContext env, HasLogFunc env) => RIO env TarType
 getTarType = do
-  (stdoutBS, _) <- proc "tar" ["--version"] readProcess_
+  (_, stdoutBS, _) <- proc "tar" ["--version"] readProcess
   let bs = toStrict stdoutBS
-  if "GNU" `isInfixOf` bs
-  then pure Gnu
-  else if "bsdtar" `isInfixOf` bs
-       then pure Bsd
-       else do
-         logError $ "Either GNU Tar or BSD tar is required on the PATH."
-         throwString "Proper tar executable not found in the environment"
+  pure $ if "GNU" `isInfixOf` bs then Gnu else Bsd
 
 fetchReposRaw
   :: (HasPantryConfig env, HasLogFunc env, HasProcessContext env)
