diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for rio
 
+## 0.1.15.1
+
+* Replace `canonicalizePath` with `makeAbsolute` [#217](https://github.com/commercialhaskell/rio/issues/217)
+
 ## 0.1.15.0
 
 * Include source in log messages
diff --git a/rio.cabal b/rio.cabal
--- a/rio.cabal
+++ b/rio.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 88c70b06dfc2b555bc230e489348124cfcbdc0bdbf0ef59810cae48053937a10
+-- hash: 30ccd150c619c6c6fa96ebc7d3b33d6cb4ea1b2e45228e4cba5c35c1bc64cd63
 
 name:           rio
-version:        0.1.15.0
+version:        0.1.15.1
 synopsis:       A standard library for Haskell
 description:    See README and Haddocks at <https://www.stackage.org/package/rio>
 category:       Control
diff --git a/src/RIO/Process.hs b/src/RIO/Process.hs
--- a/src/RIO/Process.hs
+++ b/src/RIO/Process.hs
@@ -588,7 +588,7 @@
   -- ^ Full path to that executable on success
 findExecutable name | any FP.isPathSeparator name = do
   names <- addPcExeExtensions name
-  testFPs (pure $ Left $ ExecutableNotFoundAt name) D.canonicalizePath names
+  testFPs (pure $ Left $ ExecutableNotFoundAt name) D.makeAbsolute names
 findExecutable name = do
   pc <- view processContextL
   m <- readIORef $ pcExeCache pc
