diff --git a/hooks-dir.cabal b/hooks-dir.cabal
--- a/hooks-dir.cabal
+++ b/hooks-dir.cabal
@@ -1,5 +1,5 @@
 name:                hooks-dir
-version:             0.1.0.0
+version:             0.1.1.0
 synopsis:            run executables in a directory as hooks
 description:         run all executables in a directory with the same 
                      arguments and environment and collect the results.
@@ -21,7 +21,7 @@
   build-depends:       base >=4 && <5
                      , directory >=1.1 && <1.3
                      , process >=1.1 && <1.3
-                     , text >=0.11 && <1.2
+                     , text >=0.11 && <1.3
   hs-source-dirs:    src
   default-language:  Haskell2010
   ghc-options:       -Wall
diff --git a/src/System/Process/Hooks.hs b/src/System/Process/Hooks.hs
--- a/src/System/Process/Hooks.hs
+++ b/src/System/Process/Hooks.hs
@@ -7,6 +7,9 @@
   , withArg
   , withEnv
   , withWorkingDir
+  , withStdOut
+  , withStdIn
+  , withStdErr
   , recurseDir
   , noRecurseDir
   , closeFDs
@@ -86,6 +89,15 @@
 
 recurseDir :: FilePath -> HooksSpec -> HooksSpec
 recurseDir f s = s { hDirs = (Recursive, f) : hDirs s }
+
+withStdOut :: StdStream -> HooksSpec -> HooksSpec
+withStdOut stream s = s { hStdOut = stream }
+
+withStdErr :: StdStream -> HooksSpec -> HooksSpec
+withStdErr stream s = s { hStdErr = stream }
+
+withStdIn :: StdStream -> HooksSpec -> HooksSpec
+withStdIn stream s = s { hStdIn = stream }
 
 -- data ParallelFlag = Parallel | Sequential
 --   deriving (Show, Read, Eq, Ord, Bounded)
