From babc715dfbfa22a2fa7f02715ba2c116acdd1e5f Mon Sep 17 00:00:00 2001 From: Lei Date: Mon, 12 Jan 2026 15:44:19 +0800 Subject: [PATCH] permission: keep original pattern when no rule matches ### Summary This change preserves the original requested `pattern` when `PermissionNext.evaluate()` falls back to the default `ask` rule. Previously, the fallback rule always returned `pattern: "*"`, which could lead to misleading logs, debugging output, and UI display. ### Changes - Keep the caller-provided `pattern` when no permission rule matches - No behavior change in permission decisions (still defaults to `ask`) --- packages/opencode/src/permission/next.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/opencode/src/permission/next.ts b/packages/opencode/src/permission/next.ts index f95aaf34525..c82bfdf9ca1 100644 --- a/packages/opencode/src/permission/next.ts +++ b/packages/opencode/src/permission/next.ts @@ -223,7 +223,7 @@ export namespace PermissionNext { const match = merged.findLast( (rule) => Wildcard.match(permission, rule.permission) && Wildcard.match(pattern, rule.pattern), ) - return match ?? { action: "ask", permission, pattern: "*" } + return match ?? { action: "ask", permission, pattern } } const EDIT_TOOLS = ["edit", "write", "patch", "multiedit"]