diff --git a/cabal-install/src/Distribution/Client/CmdExec.hs b/cabal-install/src/Distribution/Client/CmdExec.hs
index 17396d38a98bc6fe948963413da78b87767589d1..82fada984635bef62a8dfcbaa9f281429a94cb01 100644
--- a/cabal-install/src/Distribution/Client/CmdExec.hs
+++ b/cabal-install/src/Distribution/Client/CmdExec.hs
@@ -268,6 +268,7 @@ withTempEnvFile verbosity baseCtx buildCtx buildStatus action = do
         action envOverrides
     )
 
+-- | Get paths to all dependency executables to be included in PATH.
 pathAdditions :: ProjectBaseContext -> ProjectBuildContext -> [FilePath]
 pathAdditions ProjectBaseContext{..} ProjectBuildContext{..} =
   paths ++ cabalConfigPaths
@@ -281,6 +282,7 @@ pathAdditions ProjectBaseContext{..} ProjectBuildContext{..} =
       S.toList $
         binDirectories distDirLayout elaboratedShared elaboratedPlanToExecute
 
+-- | Get paths to all dependency executables to be included in PATH.
 binDirectories
   :: DistDirLayout
   -> ElaboratedSharedConfig
diff --git a/cabal-install/src/Distribution/Client/CmdRun.hs b/cabal-install/src/Distribution/Client/CmdRun.hs
index ed66b74aff32b044564de328efb77d0befe40640..b390dacb22e94593c5ed16642dc9ef15217136ad 100644
--- a/cabal-install/src/Distribution/Client/CmdRun.hs
+++ b/cabal-install/src/Distribution/Client/CmdRun.hs
@@ -60,6 +60,7 @@ import Distribution.Client.ProjectPlanning
   )
 import Distribution.Client.ProjectPlanning.Types
   ( dataDirsEnvironmentForPlan
+  , elabExeDependencyPaths
   )
 import Distribution.Client.ScriptUtils
   ( AcceptNoTargets (..)
@@ -302,11 +303,13 @@ runAction flags@NixStyleFlags{..} targetAndArgs globalFlags =
             || buildSettingOnlyDownload (buildSettings baseCtx)
 
     let extraPath =
-          fromNubList
-            . projectConfigProgPathExtra
-            . projectConfigShared
-            . projectConfig
-            $ baseCtx
+          elabExeDependencyPaths pkg
+            ++ ( fromNubList
+                  . projectConfigProgPathExtra
+                  . projectConfigShared
+                  . projectConfig
+                  $ baseCtx
+               )
 
     logExtraProgramSearchPath verbosity extraPath
 
diff --git a/changelog.d/pr-9341 b/changelog.d/pr-9341
new file mode 100644
index 0000000000000000000000000000000000000000..dc6c65a802db4d7a2c5807d0e7a756e7985e0817
--- /dev/null
+++ b/changelog.d/pr-9341
@@ -0,0 +1,11 @@
+synopsis: Fix run command environment
+packages: cabal-install
+prs: #9341
+issues: #8391
+
+description: {
+
+- The Run command will now add binary paths of dependencies
+  (build-tool-depends) to PATH, just like Exec and Test commands.
+
+}
\ No newline at end of file