diff --git a/packages/opencode/src/tool/shell/parser.ts b/packages/opencode/src/tool/shell/parser.ts
index c1507553eb..6260ac6042 100644
--- a/packages/opencode/src/tool/shell/parser.ts
+++ b/packages/opencode/src/tool/shell/parser.ts
@@ -1,4 +1,4 @@
-import { Language, Parser, type Node } from "web-tree-sitter"
+import type { Node } from "web-tree-sitter"
import { lazy } from "@/util/lazy"
import { resolveWasm, resolvePath, unquote, home, expand, type Scan, type Part } from "./util"
import { Instance } from "@/project/instance"
@@ -141,6 +141,7 @@ export namespace ShellParser {
const { default: psWasm } = await import("tree-sitter-powershell/tree-sitter-powershell.wasm" as string, {
with: { type: "wasm" },
})
+ const { Language } = await import("web-tree-sitter")
const bashPath = resolveWasm(bashWasm)
const psPath = resolveWasm(psWasm)
const bashLanguage = await Language.load(bashPath)
diff --git a/packages/opencode/src/tool/shell/runner.ts b/packages/opencode/src/tool/shell/runner.ts
index 0576040764..9bdfbb66f9 100644
--- a/packages/opencode/src/tool/shell/runner.ts
+++ b/packages/opencode/src/tool/shell/runner.ts
@@ -121,10 +121,10 @@ export namespace ShellRunner {
})
const metadata: string[] = []
- if (expired) metadata.push(`bash tool terminated command after exceeding timeout ${input.timeout} ms`)
+ if (expired) metadata.push(`${input.name} tool terminated command after exceeding timeout ${input.timeout} ms`)
if (aborted) metadata.push("User aborted the command")
if (metadata.length > 0) {
- output += "\n\n\n" + metadata.join("\n") + "\n"
+ output += "\n\n\n" + metadata.join("\n") + "\n"
}
return {