summaryrefslogtreecommitdiff
path: root/Omni/Agent/Subagent/Coder.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Omni/Agent/Subagent/Coder.hs')
-rw-r--r--Omni/Agent/Subagent/Coder.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/Omni/Agent/Subagent/Coder.hs b/Omni/Agent/Subagent/Coder.hs
index 865a97e..ad97ee7 100644
--- a/Omni/Agent/Subagent/Coder.hs
+++ b/Omni/Agent/Subagent/Coder.hs
@@ -139,9 +139,10 @@ defaultCoderConfig namespace task =
}
-- | Run a bash command and capture output
+-- Uses direnv exec to ensure the nix shell environment is loaded
runBashCapture :: Text -> IO (Exit.ExitCode, Text, Text)
runBashCapture cmd = do
- (code, out, err) <- Process.readProcessWithExitCode "bash" ["-c", Text.unpack cmd] ""
+ (code, out, err) <- Process.readProcessWithExitCode "direnv" ["exec", ".", "bash", "-c", Text.unpack cmd] ""
pure (code, Text.pack out, Text.pack err)
-- | Phase 1: Initialize - check environment, detect broken state