فهرست منبع

fix: `rg` hanging forever when run in bash, waiting for stdin (#3103)

Co-authored-by: Aiden Cline <[email protected]>
Tommy D. Rossi 4 ماه پیش
والد
کامیت
b4171aa8e8
1فایلهای تغییر یافته به همراه4 افزوده شده و 3 حذف شده
  1. 4 3
      packages/opencode/src/tool/bash.ts

+ 4 - 3
packages/opencode/src/tool/bash.ts

@@ -1,6 +1,5 @@
 import z from "zod/v4"
-import { exec } from "child_process"
-
+import { spawn } from "child_process"
 import { Tool } from "./tool"
 import DESCRIPTION from "./bash.txt"
 import { Permission } from "../permission"
@@ -146,9 +145,11 @@ export const BashTool = Tool.define("bash", {
       })
     }
 
-    const process = exec(params.command, {
+    const process = spawn(params.command, {
+      shell: true,
       cwd: Instance.directory,
       signal: ctx.abort,
+      stdio: ["ignore", "pipe", "pipe"],
       timeout,
     })