## Description This PR fixes Issue #421 where commands with pipes (e.g., `grep -R ... -n | head -n 20`) were failing to execute properly after PR #391 was merged. ## Changes - Modified the `requiresShell` function to only enable shell mode when the command is a single string containing shell operators - Added logic to handle the case where shell operators are passed as separate arguments - Added comprehensive tests to verify the fix ## Root Cause The issue was that the `requiresShell` function was detecting shell operators like `|` even when they were passed as separate arguments, which caused the command to be executed with `shell: true` unnecessarily. This was causing syntax errors when running commands with pipes. ## Testing - Added unit tests to verify the fix - Manually tested with real commands using pipes - Ensured all existing tests pass Fixes #421 |
||
|---|---|---|
| .. | ||
| sandbox | ||
| agent-loop.ts | ||
| apply-patch.ts | ||
| exec.ts | ||
| handle-exec-command.ts | ||
| log.ts | ||
| parse-apply-patch.ts | ||
| platform-commands.ts | ||
| review.ts | ||