From f90aa6278487c7469263b2c56a129540bb0325f7 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Sun, 3 Aug 2025 06:15:06 -0500 Subject: [PATCH] fix: expand tilde for file: references (#1553) --- packages/opencode/src/config/config.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index a7c2c962..9f1c6bc3 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -1,5 +1,6 @@ import { Log } from "../util/log" import path from "path" +import os from "os" import { z } from "zod" import { App } from "../app/app" import { Filesystem } from "../util/filesystem" @@ -403,7 +404,10 @@ export namespace Config { if (lineIndex !== -1 && lines[lineIndex].trim().startsWith("//")) { continue // Skip if line is commented } - const filePath = match.replace(/^\{file:/, "").replace(/\}$/, "") + let filePath = match.replace(/^\{file:/, "").replace(/\}$/, "") + if (filePath.startsWith("~/")) { + filePath = path.join(os.homedir(), filePath.slice(2)) + } const resolvedPath = path.isAbsolute(filePath) ? filePath : path.resolve(configDir, filePath) const fileContent = (await Bun.file(resolvedPath).text()).trim() // escape newlines/quotes, strip outer quotes