From 7e763e1c06bba82fbf37dbb67757765efbcdcab1 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Sun, 3 Aug 2025 10:30:00 -0400 Subject: [PATCH] fix shell error 128 --- packages/opencode/src/tool/bash.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/opencode/src/tool/bash.ts b/packages/opencode/src/tool/bash.ts index 629201e3..8688aa70 100644 --- a/packages/opencode/src/tool/bash.ts +++ b/packages/opencode/src/tool/bash.ts @@ -75,9 +75,13 @@ export const BashTool = Tool.define("bash", { if (["cd", "rm", "cp", "mv", "mkdir", "touch", "chmod", "chown"].includes(command[0])) { for (const arg of command.slice(1)) { if (arg.startsWith("-") || (command[0] === "chmod" && arg.startsWith("+"))) continue - const resolved = await $`realpath ${arg}`.text().then((x) => x.trim()) + const resolved = await $`realpath ${arg}` + .quiet() + .nothrow() + .text() + .then((x) => x.trim()) log.info("resolved path", { arg, resolved }) - if (!Filesystem.contains(app.path.cwd, resolved)) { + if (resolved && !Filesystem.contains(app.path.cwd, resolved)) { throw new Error( `This command references paths outside of ${app.path.cwd} so it is not allowed to be executed.`, )