From 832d8da453099ee63a74fd39d88513071387f8d0 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Wed, 13 Aug 2025 06:34:06 -0500 Subject: [PATCH] fix: permission prompting issues (#1884) --- packages/opencode/src/permission/index.ts | 2 ++ packages/opencode/src/tool/bash.ts | 1 + packages/opencode/src/tool/edit.ts | 1 + packages/opencode/src/tool/webfetch.ts | 1 + 4 files changed, 5 insertions(+) diff --git a/packages/opencode/src/permission/index.ts b/packages/opencode/src/permission/index.ts index d724e993..98f9c3ff 100644 --- a/packages/opencode/src/permission/index.ts +++ b/packages/opencode/src/permission/index.ts @@ -82,11 +82,13 @@ export namespace Permission { sessionID: input.sessionID, messageID: input.messageID, toolCallID: input.callID, + pattern: input.pattern, }) if (approved[input.sessionID]?.[input.pattern ?? input.type]) return const info: Info = { id: Identifier.ascending("permission"), type: input.type, + pattern: input.pattern, sessionID: input.sessionID, messageID: input.messageID, callID: input.callID, diff --git a/packages/opencode/src/tool/bash.ts b/packages/opencode/src/tool/bash.ts index 44106b2e..b0fe920b 100644 --- a/packages/opencode/src/tool/bash.ts +++ b/packages/opencode/src/tool/bash.ts @@ -94,6 +94,7 @@ export const BashTool = Tool.define("bash", { if (needsAsk) { await Permission.ask({ type: "bash", + pattern: params.command, sessionID: ctx.sessionID, messageID: ctx.messageID, callID: ctx.callID, diff --git a/packages/opencode/src/tool/edit.ts b/packages/opencode/src/tool/edit.ts index 8c3bdc63..8be41ecf 100644 --- a/packages/opencode/src/tool/edit.ts +++ b/packages/opencode/src/tool/edit.ts @@ -83,6 +83,7 @@ export const EditTool = Tool.define("edit", { sessionID: ctx.sessionID, messageID: ctx.messageID, callID: ctx.callID, + pattern: filePath, title: "Edit this file: " + filePath, metadata: { filePath, diff --git a/packages/opencode/src/tool/webfetch.ts b/packages/opencode/src/tool/webfetch.ts index 621421fe..e4519c0c 100644 --- a/packages/opencode/src/tool/webfetch.ts +++ b/packages/opencode/src/tool/webfetch.ts @@ -28,6 +28,7 @@ export const WebFetchTool = Tool.define("webfetch", { if (cfg.permission?.webfetch === "ask") await Permission.ask({ type: "webfetch", + pattern: params.url, sessionID: ctx.sessionID, messageID: ctx.messageID, callID: ctx.callID,