diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for shake-plus
 
+## v0.1.3.0
+
+* Re-export `Development.Shake.Command` with lifted `command` and `command_`.
+
 ## v0.1.2.0
 
 * Add `copyFileWithin'` and `copyFileChangedWithin`.
diff --git a/shake-plus.cabal b/shake-plus.cabal
--- a/shake-plus.cabal
+++ b/shake-plus.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 22c352c73131bbd83a4d870d78b7037dea00056e69b13a477b50bce1c85f774d
+-- hash: 5a0c4a9bdf4cfc967d40628c1c7660a63bd9149b32c76a0d3483c098f5ecbc67
 
 name:           shake-plus
-version:        0.1.2.0
+version:        0.1.3.0
 synopsis:       Re-export of Shake using well-typed paths and ReaderT.
 description:    Re-export of Shake using well-typed paths and ReaderT. You can thread logging through your Shake Actions, and better keep track of source and output folders using the Within type.
 category:       development, shake
@@ -26,6 +26,7 @@
   exposed-modules:
       Development.Shake.Plus
       Development.Shake.Plus.Cache
+      Development.Shake.Plus.Command
       Development.Shake.Plus.Config
       Development.Shake.Plus.Core
       Development.Shake.Plus.Database
diff --git a/src/Development/Shake/Plus.hs b/src/Development/Shake/Plus.hs
--- a/src/Development/Shake/Plus.hs
+++ b/src/Development/Shake/Plus.hs
@@ -1,5 +1,6 @@
 module Development.Shake.Plus (
   module Development.Shake.Plus.Cache
+, module Development.Shake.Plus.Command
 , module Development.Shake.Plus.Core
 , module Development.Shake.Plus.Directory
 , module Development.Shake.Plus.File
@@ -10,6 +11,7 @@
 ) where
 
 import Development.Shake.Plus.Cache
+import Development.Shake.Plus.Command
 import Development.Shake.Plus.Core
 import Development.Shake.Plus.Directory
 import Development.Shake.Plus.File
diff --git a/src/Development/Shake/Plus/Command.hs b/src/Development/Shake/Plus/Command.hs
new file mode 100644
--- /dev/null
+++ b/src/Development/Shake/Plus/Command.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE TypeOperators #-}
+module Development.Shake.Plus.Command (
+  command
+, command_
+, Development.Shake.cmd
+, Development.Shake.cmd_
+, Development.Shake.Command.unit
+, Development.Shake.Command.CmdArgument(..)
+, Development.Shake.Command.CmdArguments(..)
+, Development.Shake.Command.IsCmdArgument(..)
+, (:->)
+, Development.Shake.Command.Stdout(..)
+, Development.Shake.Command.StdoutTrim(..)
+, Development.Shake.Command.Stderr(..)
+, Development.Shake.Command.Stdouterr(..)
+, Development.Shake.Command.Exit(..)
+, Development.Shake.Command.Process(..)
+, Development.Shake.Command.CmdTime(..)
+, Development.Shake.Command.CmdLine(..)
+, Development.Shake.Command.FSATrace(..)
+, Development.Shake.Command.CmdResult
+, Development.Shake.Command.CmdString
+, Development.Shake.Command.CmdOption(..)
+) where
+
+import Control.Exception.Extra
+import qualified Development.Shake
+import Development.Shake (CmdResult, CmdOption)
+import Development.Shake.Command (CmdArguments, (:->))
+import qualified Development.Shake.Command
+import Development.Shake.Plus.Core
+import RIO
+
+-- | Lifted version of `Development.Shake.command`.
+command :: (Partial, CmdResult r, MonadAction m) => [CmdOption] -> String -> [String] -> m r 
+command x y z = liftAction $ Development.Shake.command x y z
+
+-- | Lifted version of `Development.Shake.command_`.
+command_ :: (Partial, MonadAction m) => [CmdOption] -> String -> [String] -> m ()
+command_ x y z = liftAction $ Development.Shake.command_ x y z
