diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,6 +1,12 @@
 # Changelog
 
 
+## v1.9.3.1
+
+Hackage-only release with no user facing changes (added compatibility
+with `rio-0.1.9.2`).
+
+
 ## v1.9.3
 
 Bug fixes:
diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md
--- a/doc/ChangeLog.md
+++ b/doc/ChangeLog.md
@@ -1,6 +1,12 @@
 # Changelog
 
 
+## v1.9.3.1
+
+Hackage-only release with no user facing changes (added compatibility
+with `rio-0.1.9.2`).
+
+
 ## v1.9.3
 
 Bug fixes:
diff --git a/src/Stack/Clean.hs b/src/Stack/Clean.hs
--- a/src/Stack/Clean.hs
+++ b/src/Stack/Clean.hs
@@ -27,7 +27,7 @@
 clean :: HasEnvConfig env => CleanOpts -> RIO env ()
 clean cleanOpts = do
     failures <- mapM cleanDir =<< dirsToDelete cleanOpts
-    when (or failures) $ liftIO exitFailure
+    when (or failures) $ liftIO System.Exit.exitFailure
   where
     cleanDir dir =
       liftIO (ignoringAbsence (removeDirRecur dir) >> return False) `catchAny` \ex -> do
diff --git a/src/Stack/Docker.hs b/src/Stack/Docker.hs
--- a/src/Stack/Docker.hs
+++ b/src/Stack/Docker.hs
@@ -200,12 +200,12 @@
             throwIO OnlyOnHostException
         | inContainer ->
             liftIO (do inner
-                       exitSuccess)
+                       System.Exit.exitSuccess)
         | not (dockerEnable (configDocker config)) ->
             do fromMaybeAction mbefore
                liftIO inner
                fromMaybeAction mafter
-               liftIO exitSuccess
+               liftIO System.Exit.exitSuccess
         | otherwise ->
             do fromMaybeAction mrelease
                runContainerAndExit
@@ -376,9 +376,9 @@
 #endif
          )
      case e of
-       Left (ProcessExitedUnsuccessfully _ ec) -> liftIO (exitWith ec)
+       Left (ProcessExitedUnsuccessfully _ ec) -> liftIO (System.Exit.exitWith ec)
        Right () -> do after
-                      liftIO exitSuccess
+                      liftIO System.Exit.exitSuccess
   where
     -- This is using a hash of the Docker repository (without tag or digest) to ensure
     -- binaries/libraries aren't shared between Docker and host (or incompatible Docker images)
diff --git a/src/Stack/Hoogle.hs b/src/Stack/Hoogle.hs
--- a/src/Stack/Hoogle.hs
+++ b/src/Stack/Hoogle.hs
@@ -150,7 +150,7 @@
           (hoogleArgs ++ databaseArg)
           runProcess_
     bail :: RIO EnvConfig a
-    bail = liftIO (exitWith (ExitFailure (-1)))
+    bail = liftIO (System.Exit.exitWith (ExitFailure (-1)))
     checkDatabaseExists = do
         path <- hoogleDatabasePath
         liftIO (doesFileExist path)
diff --git a/src/Stack/Setup.hs b/src/Stack/Setup.hs
--- a/src/Stack/Setup.hs
+++ b/src/Stack/Setup.hs
@@ -1118,7 +1118,7 @@
                         "The following directories may now contain files, but won't be used by stack:" <> line <>
                         "  -" <+> display tempDir <> line <>
                         "  -" <+> display destDir <> line
-                    liftIO exitFailure
+                    liftIO System.Exit.exitFailure
 
     logSticky $
       "Unpacking GHC into " <>
@@ -1310,7 +1310,7 @@
         buildInGhcjsEnv envConfig $ defaultBuildOptsCLI { boptsCLITargets = bootDepsToInstall }
         let failedToFindErr = do
                 logError "This shouldn't happen, because it gets built to the snapshot bin directory, which should be treated as being on the PATH."
-                liftIO exitFailure
+                liftIO System.Exit.exitFailure
         when shouldInstallCabal $ do
             mcabal' <- withProcessContext menv' getCabalInstallVersion
             case mcabal' of
diff --git a/src/main/Main.hs b/src/main/Main.hs
--- a/src/main/Main.hs
+++ b/src/main/Main.hs
@@ -203,10 +203,10 @@
           -- This special handler stops "stack: " from being printed before the
           -- exception
           case fromException e of
-              Just ec -> exitWith ec
+              Just ec -> System.Exit.exitWith ec
               Nothing -> do
                   hPrint stderr e
-                  exitFailure
+                  System.Exit.exitFailure
 
 -- Vertically combine only the error component of the first argument with the
 -- error component of the second.
@@ -344,7 +344,8 @@
                     (execOptsParser $ Just ExecGhc)
         addCommand' "hoogle"
                     ("Run hoogle, the Haskell API search engine. Use 'stack exec' syntax " ++
-                     "to pass Hoogle arguments, e.g. stack hoogle -- --count=20")
+                     "to pass Hoogle arguments, e.g. stack hoogle -- --count=20 or " ++
+                     "stack hoogle -- server --local")
                     hoogleCmd
                     ((,,,) <$> many (strArgument (metavar "ARG"))
                           <*> boolFlags
@@ -638,7 +639,7 @@
     hPutStrLn stderr "Error: When building with stack, you should not use the -prof GHC option"
     hPutStrLn stderr "Instead, please use --library-profiling and --executable-profiling"
     hPutStrLn stderr "See: https://github.com/commercialhaskell/stack/issues/1015"
-    exitFailure
+    System.Exit.exitFailure
   case boptsCLIFileWatch opts of
     FileWatchPoll -> fileWatchPoll stderr inner
     FileWatch -> fileWatch stderr inner
@@ -710,13 +711,13 @@
                 , flow "Can't find:"
                 , line <> invalidList
                 ]
-            liftIO exitFailure
+            liftIO System.Exit.exitFailure
         when (null files && null dirs) $ do
             prettyErrorL
                 [ styleShell "stack upload"
                 , flow "expects a list of sdist tarballs or package directories, but none were specified."
                 ]
-            liftIO exitFailure
+            liftIO System.Exit.exitFailure
         config <- view configL
         let hackageUrl = T.unpack $ configHackageBaseUrl config
         getCreds <- liftIO (runOnce (Upload.loadCreds config))
@@ -768,7 +769,7 @@
                         , display stackYaml
                         , flow "contains no packages, so no sdist tarballs will be generated."
                         ]
-                    liftIO exitFailure
+                    liftIO System.Exit.exitFailure
                 return dirs
             else mapM resolveDir' (sdoptsDirsToWorkWith sdistOpts)
         forM_ dirs' $ \dir -> do
@@ -848,7 +849,7 @@
               -- should never happen as we have already installed the packages
               _      -> liftIO $ do
                   hPutStrLn stderr ("Could not find package id of package " ++ name)
-                  exitFailure
+                  System.Exit.exitFailure
 
       getPkgOpts wc pkgs =
           map ("-package-id=" ++) <$> mapM (getPkgId wc) pkgs
@@ -869,7 +870,7 @@
                 return (T.unpack exe', args')
               _                -> do
                   logError "No executables found."
-                  liftIO exitFailure
+                  liftIO System.Exit.exitFailure
 
       getGhcCmd prefix pkgs args = do
           wc <- view $ actualCompilerVersionL.whichCompilerL
diff --git a/stack.cabal b/stack.cabal
--- a/stack.cabal
+++ b/stack.cabal
@@ -1,13 +1,13 @@
 cabal-version: 1.24
 
--- This file has been generated from package.yaml by hpack version 0.31.1.
+-- This file has been generated from package.yaml by hpack version 0.31.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: b40833306dc6ec7b07b3ce20272099a90da724ad96f3e7b8c4565d91e4e4615f
+-- hash: 4660c8af471b9e6d591f3414122079e0f1d8ee984995ed25cf46c4b01ed78b66
 
 name:           stack
-version:        1.9.3
+version:        1.9.3.1
 synopsis:       The Haskell Tool Stack
 description:    Please see the README.md for usage information, and the wiki on Github for more details.  Also, note that the API for the library is not currently stable, and may change significantly, even between minor releases. It is currently only intended for use by the executable.
 category:       Development
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -28,6 +28,8 @@
 - windns-0.1.0.0@rev:0
 - hackage-security-0.5.3.0@rev:2
 - cabal-doctest-1.0.6@rev:2
+- rio-0.1.9.2@rev:0
+- unliftio-0.2.10@rev:0
 
 # Avoid https://github.com/commercialhaskell/stack/issues/4125
 # (triggered because later versions of persistent transitively depends
