summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2025-10-28 10:21:32 -0500
committerAiden Cline <[email protected]>2025-10-28 10:23:03 -0500
commit74acd08eadf4d6078ad0b8aa2da3fd42eed5cb49 (patch)
tree68ef77ca73b6b5bc11ecc92f53393508c05bb1a6
parent49ea5aa2ada1aed3ed5c9fc8debad5a28348d6e8 (diff)
downloadopencode-74acd08eadf4d6078ad0b8aa2da3fd42eed5cb49.tar.gz
opencode-74acd08eadf4d6078ad0b8aa2da3fd42eed5cb49.zip
add catch for mcp tool execution
-rw-r--r--packages/opencode/src/session/prompt.ts12
1 files changed, 11 insertions, 1 deletions
diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts
index 26a04cb8e..d27dc24bc 100644
--- a/packages/opencode/src/session/prompt.ts
+++ b/packages/opencode/src/session/prompt.ts
@@ -582,7 +582,17 @@ export namespace SessionPrompt {
args,
},
)
- const result = await execute(args, opts)
+ const result = await execute(args, opts).catch((err) => {
+ log.error("Error executing tool", { error: err, tool: key })
+ return {
+ content: [
+ {
+ type: "text",
+ text: `Failed to execute tool: ${err instanceof Error ? err.message : String(err)}`,
+ },
+ ],
+ }
+ })
await Plugin.trigger(
"tool.execute.after",