From 2d794ed03d2baacf5da829dccc65047c08d7aa04 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Wed, 27 Aug 2025 15:59:33 -0500 Subject: [PATCH] fix: ensure / commands dont try to resolve @ references from cmd outputs (#2282) --- packages/opencode/src/session/index.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts index 7cb24400..4a9a6785 100644 --- a/packages/opencode/src/session/index.ts +++ b/packages/opencode/src/session/index.ts @@ -1183,6 +1183,10 @@ export namespace Session { let template = command.template.replace("$ARGUMENTS", input.arguments) + // intentionally doing match regex doing bash regex replacements + // this is because bash commands can output "@" references + const fileMatches = template.matchAll(fileRegex) + const bash = Array.from(template.matchAll(bashRegex)) if (bash.length > 0) { const results = await Promise.all( @@ -1205,10 +1209,9 @@ export namespace Session { }, ] as ChatInput["parts"] - const matches = template.matchAll(fileRegex) const app = App.info() - for (const match of matches) { + for (const match of fileMatches) { const file = path.join(app.path.cwd, match[1]) parts.push({ type: "file",