diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,11 @@
 
 ## Unreleased changes
 
+## 0.1.2.0
+
+* Be able to control `sandwich-webdriver` download directory.
+* Add flags to control `sandwich-webdriver` Selenium paths: `--selenium-jar`, `--chrome-binary`, `--chromedriver-binary`, `--firefox-binary`, `--geckodriver-binary`.
+
 ## 0.1.1.2
 
 * Improve semantics of multiple `--filter/-f` arguments. Now they get applied to the test tree sequentially.
diff --git a/sandwich.cabal b/sandwich.cabal
--- a/sandwich.cabal
+++ b/sandwich.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           sandwich
-version:        0.1.1.2
+version:        0.1.2.0
 synopsis:       Yet another test framework for Haskell
 description:    Please see the <https://codedownio.github.io/sandwich documentation>.
 category:       Testing
@@ -96,7 +96,7 @@
       aeson
     , ansi-terminal
     , async
-    , base <5
+    , base >=4.11 && <5
     , bytestring
     , colour
     , containers
@@ -170,7 +170,7 @@
       aeson
     , ansi-terminal
     , async
-    , base <5
+    , base >=4.11 && <5
     , bytestring
     , colour
     , containers
@@ -228,7 +228,7 @@
       aeson
     , ansi-terminal
     , async
-    , base <5
+    , base >=4.11 && <5
     , bytestring
     , colour
     , containers
@@ -291,7 +291,7 @@
       aeson
     , ansi-terminal
     , async
-    , base <5
+    , base >=4.11 && <5
     , bytestring
     , colour
     , containers
@@ -355,7 +355,7 @@
       aeson
     , ansi-terminal
     , async
-    , base <5
+    , base >=4.11 && <5
     , bytestring
     , colour
     , containers
diff --git a/src/Test/Sandwich/ArgParsing.hs b/src/Test/Sandwich/ArgParsing.hs
--- a/src/Test/Sandwich/ArgParsing.hs
+++ b/src/Test/Sandwich/ArgParsing.hs
@@ -134,6 +134,14 @@
   <*> flag False True (long "individual-videos" <> help "Record individual videos of each test (requires ffmpeg and Xvfb)" <> maybeInternal)
   <*> flag False True (long "error-videos" <> help "Record videos of each test but delete them unless there was an exception" <> maybeInternal)
 
+  <*> optional (strOption (long "selenium-jar" <> help "" <> metavar "STRING" <> maybeInternal))
+
+  <*> optional (strOption (long "chrome-binary" <> help "" <> metavar "STRING" <> maybeInternal))
+  <*> optional (strOption (long "chromedriver-binary" <> help "" <> metavar "STRING" <> maybeInternal))
+
+  <*> optional (strOption (long "firefox-binary" <> help "" <> metavar "STRING" <> maybeInternal))
+  <*> optional (strOption (long "geckodriver-binary" <> help "" <> metavar "STRING" <> maybeInternal))
+
 browserToUse :: (forall f a. Mod f a) -> Parser BrowserToUse
 browserToUse maybeInternal =
   flag' UseFirefox (long "firefox" <> help "Use Firefox" <> maybeInternal)
diff --git a/src/Test/Sandwich/Types/ArgParsing.hs b/src/Test/Sandwich/Types/ArgParsing.hs
--- a/src/Test/Sandwich/Types/ArgParsing.hs
+++ b/src/Test/Sandwich/Types/ArgParsing.hs
@@ -143,4 +143,12 @@
   , optFluxbox :: Bool
   , optIndividualVideos :: Bool
   , optErrorVideos :: Bool
+
+  , optSeleniumJar :: Maybe FilePath
+
+  , optChromeBinary :: Maybe FilePath
+  , optChromeDriver :: Maybe FilePath
+
+  , optFirefoxBinary :: Maybe FilePath
+  , optGeckoDriver :: Maybe FilePath
   } deriving Show
